The Tables feature allows you to build and edit your own database in Tulip without writing any code.
Rather than writing SQL or HTTP queries to communicate with external data sources, you can create tables and then immediately push and pull data in your apps.
Unlike Variables, which can only track data within an app, Tables allow you to use data across multiple apps.
Each Table resembles a spreadsheet or table in SQL.
Here’s a couple common examples of how you might use tables:
- Work Orders: If you want to see the real-time status of a work order, you can update a table every time the work order passes through a workstation on your floor.
- Operator Permissions/Skills Matrix: If you want to define which operators are allowed to access certain apps, you can create a table with each operator on your team, and define their permissions across all your apps.
- Bill of Materials: Tracking different lists of materials by product or by SKU
- Inventory: Tracking current inventory levels and deducting every time a product is completed or scrapped
- Product Genealogy: Track the SKUs or lot numbers of all components in a product
Here’s a quick summary of all the capabilities of Tables.
If you would like to learn how Tables can be edited/changed via apps, see this separate guide.
Setting Up Tables
To access Tables, click the “Apps” tab and select the “Tables” option.
On the resulting screen, you can either create a table in the top right of the screen, or delete using the trashcan icon.
After clicking “Create table”, add a name and a description then click “Create”.
After creating a table, select it from the Table List to start editing.
You will now need to start adding fields for all the data that you want to track. A field is like an individual column in a spreadsheet.
To create a new field, click the “+” button next to ID.
There are 7 field types:
- Text: a text field
- Boolean: Either “true” or “false”
- Interval: An amount of time in seconds, i.e. seconds spent on a step
- Image: Either the URL of an image or an image uploaded from your computer
- User: A Tulip administrator or operator
- Datetime: A date + time. Can manually specify a value or save the current date/time from an app.
- Color: A single color defined via colorpicker or hex code.
Add a label, then click “Save”.
Each row in the Table is called a Record. A Record will automatically include all the fields that you create.
An individual record might be:
- A work order
- A SKU
- A lot of ingredients
- A set of permissions for an operator
- A list of materials for a product
Each record must have a unique ID value. This allows you to load all the data around an individual record into an app. This is similar to a SQL database.
However, unlike a SQL database, the ID is a text value. This is because work orders and SKUs are frequently composed of both letters and numbers
Common IDs include:
- Operator Badge ID
- Work Order/SKU number
- Lot number
- Product name
You can either add records to the table by using an app that is connected to the table or manually adding a record with the “Create Record” button.
You can always edit field later by clicking the down carrot next to the field name.
The ID field is the only required field when creating a new record from the Table page. You can clear or edit a record by clicking on it.
Records can also be edited dynamically via Trigger logic in an app. More details here.
There are 2 ways to delete records in tables.
You can right-click the record and choose "Delete Record".
Or, you can left-click the record and choose "Delete" at the bottom.
Exporting Data From Tables
After you have begun storing and updating records in a table, there are two ways to export the data at any time.
First, you can use the "Export Table Records" button to export all records and their fields to a CSV.
Second, when a table record is loaded into an app, the fields of that table record are stored with the app completion. So, if you would like to see the values in a table record when a specific app was completed, see this separate guide on exporting app data to a CSV.
Now you are ready to begin manipulating records in your apps. Here's a guide to using Tables in the App Builder.