--- title: "Tables" slug: "tables" status: "update" updated: 2025-11-11T18:41:07Z published: 2025-11-11T18:41:07Z canonical: "support.tulip.co/tables" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.tulip.co/llms.txt > Use this file to discover all available pages before exploring further. # Tables *Learn the basics of Tulip’s tables feature.* ## Overview Tables allow 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](/r230/docs/data-types-in-tulip), which can only track data within an app, tables let you use data across multiple apps. A table resembles a spreadsheet or a table in SQL. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_112430229.png) ## Fields Each column in a table is called a **Field**. Field limit Each table can have a **maximum of 200 fields**, which includes fields that have been archived in the past. So, if 20 fields have been archived previously, the table can have 180 fields. Fields have specified types that determine the datatype. ### Field types - **Text**: a text field - **Number**: A number with decimals - **Boolean**: Either “true” or “false” - **Integer**: A whole number - **[Interval](https://support.tulip.co/docs/how-to-run-date-and-time-calculations-in-apps)**: An amount of time in seconds, i.e. seconds spent on a step - **Image**: Either a URL of an image, or an image uploaded from your computer - **Video**: Either a URL of a video, or a video uploaded from your computer - **File**: A file uploaded from your computer with one of the supported file formats (pdf, stl, txt, xls, xlsx, doc, docx, step, stp, qif, nc, form, mp4, gif, png, svg, jpeg, jpg) - **User**: A Tulip administrator or operator - **[Datetime](https://support.tulip.co/docs/how-to-run-date-and-time-calculations-in-apps)**: A date + time. Can manually specify a value or [save the current date/time from an app](https://support.tulip.co/docs/list-of-actions-and-transitions-in-the-trigger-editor) - **[Color](https://support.tulip.co/docs/how-to-dynamically-change-colors-of-widgets)**: A single color defined via colorpicker or hex code. - **Linked Record**: Link records between tables. Click [here](https://support.tulip.co/docs/linking-table-records) to read more. - **Machine**: Machine variables - **Station**: An existing station on the Tulip instance Learn more about each data type and their technical details [here](https://support.tulip.co/docs/data-types-in-tulip-1). ## Records 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. The ID is a text value, which accommodates work orders and SKUs that can be composed of both letters and numbers Common IDs include: - Operator Badge ID - Work Order/SKU number - Lot number - Product name Tulip recommends making your ID field a unique identifier of real world artifacts, such as the Batch or Equipment ID. You can either add records to the table directly in the table editor or in an app that is connected to the table. **Learn how tables can be edited via an app [here](https://support.tulip.co/docs/how-to-modify-tables-within-the-app-editor).** ## Set up a table To access Tables, click the **Apps** tab and select **Tables**. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_112430856.png) You can either create a table in the top right of the screen or archive one using the trashcan icon next to the corresponding table. You can also view the list of apps referencing each table and navigate to them directly from this page. ![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%2827%29.png) ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_431484358.png) 1. Click **+ Create table** 2. Add a name and a description then click **Create**. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_110619046.png) Add **Table Record Fields** for all the data that you want to track. A Field is like an individual column in a spreadsheet. 1. To create a new field, click the **+** button next to **ID**. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_112431518.png) You can also add a field by clicking the **arrow** on one of the fields and then either **Insert Left** or **Insert Right**. ![Screen Shot 2022-10-05 at 10.28.06 AM.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Screen%20Shot%202022-10-05%20at%2010.28.06%20AM.png) 1. Select a field type. 2. Add a label, then click **Save**. ## Edit a table You can always edit fields later, including the ID field, by clicking the down carrot next to the field name. If you would like to remove a field from the table, click on **Archive field**. ![Screen Shot 2022-10-05 at 10.28.06 AM.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Screen%20Shot%202022-10-05%20at%2010.28.06%20AM%281%29.png) Clicking on the information icon next to the table name gives information on the number of fields in this table. ![Screen Shot 2022-10-05 at 10.41.36 AM.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Screen%20Shot%202022-10-05%20at%2010.41.36%20AM.png) 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. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_110619059.png) The ID column position will lock in place, to allow for easy viewing and editing records. The header row also locks as you scroll down the table. ![Screen Shot 2022-10-05 at 10.44.27 AM.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Screen%20Shot%202022-10-05%20at%2010.44.27%20AM.png) ## Delete a record There are 3 ways to delete records in a table. 1. Right-click the record and select **Delete Record**. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_133706353.png) 1. Left-click the record and click **Delete** at the bottom. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_133706856.png) 1. Use the **[Delete Record](https://support.tulip.co/docs/list-of-actions-and-transitions-in-the-trigger-editor)** trigger Action in the to delete records dynamically in an app. NOTE ID fields cannot be deleted. ## Export data from a table After you have begun storing and updating records in a table, there are two ways to export the data at any time. 1. Use the **Export Table Records** button to export all Records and their fields to a CSV. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_130639839.png) 1. 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](https://support.tulip.co/docs/how-to-export-app-data-to-csv-1). ## View record metadata You can see the time that each Record was created and updated using **View Metadata Fields** in the top right of the screen. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_407984451.png) Toggle that option under the **...** button, and then you will see two new columns in your table: ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_180930658.png) GXP customers are also able to see the unique ID of each field in the table via the **Information** symbol on each field. Here's an example: ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_193831288.png) Please contact your Tulip account representative if you are interested in enabling this feature on your account. ## Text wrap records You can also toggle the Text Wrap button to wrap text to a new line. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_407986185.png) Example before text wrap: ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_407986487.png) Example after text wrap: ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/An%20Overview%20of%20Tables_407986799.png) ## Archive a table Tables can be archived by clicking on the Archive icon on the tables page. ![screenshot_with_arrow 2.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/screenshot_with_arrow%20%282%29.png) Tables can also be archived by clicking on the **...** button on a specific table and clicking on the Archive option. ![Archive table from individual table view.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Archive%20table%20from%20individual%20table%20view%281%29.png) ## Use cases Here are common examples of how to use tables: 1. [Work Orders:](https://support.tulip.co/docs/building-your-first-table-walkthrough) 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. 2. [Operator Permissions/Skills Matrix](https://support.tulip.co/docs/how-to-create-a-skills-matrix-with-user-fields) 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. 3. [Bill of Materials:](https://support.tulip.co/docs/how-to-create-a-bill-of-materials-bom-table) Tracking different lists of materials by product or by SKU. 4. [Inventory:](https://support.tulip.co/docs/how-to-manage-your-inventory-using-tables) Tracking current inventory levels and deducting every time a product is completed or scrapped. 5. [Product Genealogy:](https://support.tulip.co/docs/how-to-create-a-bill-of-materials-bom-table) Track the SKUs or lot numbers of all components in a product. ## Further Reading - [Build Your First Table (Walkthrough)](/r230/docs/building-your-first-table-walkthrough) - [How To Use Tables in the App Editor](/r230/docs/how-to-modify-tables-within-the-app-editor) - [Displaying Lists of Records in Apps](/r230/docs/what-is-an-interactive-table-widget) --- Did you find what you were looking for? You can also head to [community.tulip.co](https://community.tulip.co/?utm_source=intercom&utm_medium=article-link&utm_campaign=all) to post your question or see if others have faced a similar question! **Tulip Tables** **Tulip Tables** are a global location to store your production data. **Tables** are made up of **Records** (rows). A single can be accessed from multiple apps or stations at the same time. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Tulip%20Tables%20Overview%20-%20Feature%20Overview(1).gif) **Variables** **Variables** are a location to store app information. Variables have a specific type that must match the contents they can store. Variables are only accessible within a single application and are cleared when the app is restarted or completed. **Table Record Field** **Table Record Fields** are single columns within a **Tulip Table.** ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Table%20Record%20Field(1).gif) **Number** **Number** is a Tulip Datatype. Numbers can be any positive or negative number. Numbers support decimals. *ex. -5, 15, 47, 155, 15.2, -12.73* **Boolean** **Boolean's** are a Tulip Datatype. Booleans can have True/False (Yes/No) values. **Integer** **Integers** are a Tulip Datatype. Integers can have any whole number. *ex. -5, 15, 47, 155. **NOT** 15.2, -12.73* **Image** **Images** are a Tulip Datatype. Images are a reference to a web-hosted location for all Tulip Images. **User** **User** is a Tulip Datatype. Users represent a single user in your Tulip **Instance.** User variables include attributes like **Badge Id, Name, and Shift.** **Datetime** **Datetimes** are a Tulip Datatype. Datetimes represent a time in the ISO8601 format. *ex. 2022-08-31T19:56:16+00:00* **Color** **Colors** are a Tulip Datatype to represent a color. Color variables can support transparent or semi-transparent colors. **Linked Records** **Linked Records** are interconnections between multiple **Tulip Tables.** Fields in one Table can be mapped to another table. Linked records simplify traceability, genealogy, and data association for more advanced Tulip apps and app suites. **Machine** A **Machine** is a digital representation of a physical datasource. Machines have **Attributes** that are updated through an OPC-UA Connector or the Tulip API. **Station** **Stations** are a digital representation of a physical place or device in your facility. Stations are 1:1 with **Interfaces (display devices)** running Tulip Player, but Stations can also be assigned **Edge Devices,** Tulip Vision Camera Configurations, Machines, and more. **Table Record** A **Table Record** is a reference to a row in a **Tulip Table**. Table Records can be created either from the Table UI or from with an App Trigger. To edit a record it must be loaded into a **Table Record Placeholder.** **Table Record Field** **Table Record Fields** are single columns within a **Tulip Table.****![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Table%20Record%20Field.gif)** **Action** **Actions** are different operations that can be executed in **Triggers. Actions** cannot move users to other apps, or other **steps.** Many **Actions** can be added to a single **Trigger.** *ex. Store the value of variable x to table field y, Print app step, Adjust Edge device GPIO pin.*