---
title: "Walkthrough: Build a data entry form"
slug: "walkthrough-build-a-data-entry-form"
updated: 2025-05-09T22:12:24Z
published: 2025-05-09T22:12:24Z
---

> ## 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.

# Walkthrough: Build a data entry form

**In this walkthrough, you will:**

- **Create an input form on a step using input widgets**
- **Save input data to variables and a table**
- **Review table records on a step**

In this walkthrough, you’ll learn how to store data in an app and also store input data from an app to a table.

At the end of both exercises, you’ll have a data entry app that will look like this: ![ex first data entry app walkthrough](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20app%20walkthrough.gif)

## Exercise 1: Save input data to app

In this exercise, you will create a basic step that saves input data to variables.

### Create a new app

1. In the **Apps** tab, click **Apps**. ![Apps tab](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Apps%20tab.png)
2. Click **+ Create App** in the top right corner.
3. Name the app “Data Entry Form - Example”. Optionally, you can add a description so other users know what this app is for. ![ex data entry create new app](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20data%20entry%20create%20new%20app.png)
4. Click **+ Create**.

From the app details page, you can either click **Edit** in the top right corner, or click the **Untitled Step** name to enter the App Editor.

### Add input widgets with variable data sources

1. Click the **Inputs** tab and select **Checkbox**.
2. In the **Side pane**, name the **Label**: “Work order completed”.
3. Under **Datasource**, click the empty box and then **+** **Add variable**.
4. Name the variable “Work order completed” and change the **Default value** to **no**. Click **+ Create**.  

![ex data entry work order completed variable](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20data%20entry%20work%20order%20completed%20variable.png)

The widget configuration will look like this:

![ex first data entry Input widget side pane config](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20Input%20widget%20side%20pane%20config.png)

1. Add a **Date picker** widget from the **Inputs tab**.
2. In the **Side pane**, name the **Label**: “Date completed”.
3. Under **Datasource**, click the empty box and then **+** **Add variable**.
4. Name the variable “Date completed” and click **+ Create**.

The widget configuration will look like this: ![ex first data entry input widget config2](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20input%20widget%20config2.png)

### Create a trigger to save input data

1. Click to **Buttons** tab and select **Submit**.
2. In the **Side pane**, click the **+ plus sign** next to **Triggers**.
3. Title the trigger “Save app data”.
4. Under the **Then** section, select **App** from the dropdown. Then select **Save All App Data**. Click **Save**.  

![ex first data entry save app data trigger](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20save%20app%20data%20trigger.png)

Now you have a basic data entry step that uses variables to store values. Here is what the app looks like when you **Test** it in Developer Mode: ![ex first data entry exercise 1 test](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20exercise%201%20test.gif)

Notice that the variables store into completions data, which you can see below the step screen.

## Exercise 2: Store input data to table

          
          

In order to follow this walkthrough, you must first complete the exercises in [Build Your First Table](/r230/docs/walkthrough-build-your-first-table).

In this exercise, you will create a data entry step that saves values to a Work Orders table. You will also be able to view the records in the table from the app step.

1. Add a **new step** and name it “Exercise 2”.

### Add the table to the app

1. Click the **Records** tab and select **+ Add table**.
2. Select the **Work Orders** table, then click **Add**. ![ex first data entry add table](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20add%20table.gif)
3. Click the **+** icon next to **Record Placeholder**.
4. Name the record placeholder: “Current Work Orders”. Click **Add record placeholder**.

![ex first data entry record placeholder](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20record%20placeholder.png)

### Create the data form inputs

1. Click **Inputs** and select the **Single select**.
2. In the Side Pane, label the widget: “Product”.
3. Under **Data options**, click the blank **Datasource** field and then **+ Add variable**.
4. Name the variable “Product” and then click **+ Create**. ![ex first data entry product input data source](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20product%20input%20data%20source.gif)
5. In **Selection Options**, add the following options:

- Bicycle frame
- Wheel
- Drivetrain

![ex first data entry product selection options](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20product%20selection%20options.png)

1. Add a **Number Input** widget to the step.
2. Name the label: “Quantity”.
3. Under **Data options**, click the blank **Datasource** field and then **+ Add variable**.
4. Name the variable “Product” and then click **+ Create**. ![ex first data entry quantity config](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20quantity%20config.png)
5. Under **Validation Rules**, click **+** to add a rule.
6. Select **Greater Than** and type “0” as a static value.

![ex first data entry validate quantity input](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20validate%20quantity%20input.gif)

### Create button trigger to store input values

1. Add a **button** to the step.
2. In the side pane, add text: “Create work order”.
3. Under **Triggers**, click **+**.
4. Name the trigger: “Store input values to new Work order record”.
5. Add the following actions to the trigger:

- Table records → Create record → Expression: `RANDOMSTRING()` → Current Work Orders
- Data manipulation → Store → Variable → Product → Table record → Current Work Orders → Product
- Data manipulation → Store → Variable → Quantity → Table record→ Current Work Orders → Quantity

![ex first data entry trigger actions](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20trigger%20actions.png)

### View Work orders table in step

1. Click **Embed** and select **Interactive Table**.
2. In the **Side Pane** under **Datasource**, select **Tulip Table**.
3. In the next dropdown, select the **Work Orders** table.
4. Under **Linked Placeholder**, select **Current Work Orders**. ![ex first data entry interactive table datasource](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20interactive%20table%20datasource.png)
5. Under Fields, add the following fields:

- ID
- Product
- Quantity
- Date Created
- Status
- Color

![ex first data entry interactive table fields](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20interactive%20table%20fields.png)

1. Click and drag the squares around the widget to adjust the dimensions and see all the fields.  

![ex first data entry adjust interactive table](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20adjust%20interactive%20table.gif)

Now you have a data entry form that stores variables into a record placeholder and creates a table record from the current placeholder. Here is what the step looks like when you test it in Developer Mode:

![ex first data entry exercise 2 test](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20exercise%202%20test.gif)

If you type “0” in the quantity, you’ll notice an error message that prompts the user to input an acceptable value. This is possible from the **Validation Rule** you set on the widget. ![ex first data entry number widget error message](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/ex%20first%20data%20entry%20number%20widget%20error%20message.png)

## Next Steps

Now that you've created a data entry form, learn about app building or how to visualize data:

- [Walkthrough: Build your first app](/r230/docs/walkthrough-build-your-first-app)
- [Walkthrough: Create your first analysis](/r230/docs/walkthrough-create-your-first-analysis)

**App Editor**

The web interface used for building applications. Where you design a user interface, add logic, and connect your applications to **Tables**. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Screen%20Shot%202022-09-13%20at%207.50.23%20AM.png)

**Developer Mode**

**Developer Mode**is a dedicated interface to test your applications. Dev mode doesn't write to **Tables**or create **Completions**so production data isn't impacted.
