---
title: "Variables"
slug: "variables"
status: "new"
updated: 2025-05-30T17:56:42Z
published: 2025-05-30T17:56:42Z
canonical: "support.tulip.co/variables"
---

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

# Variables

*Here's how to get started with variables and use them within your apps.*

**In this article, you will learn...**


* **How to start using {{glossary.Variables}}**
* **How to utilize variables for more detailed {{glossary.Analytics}}**
* **How to use variables alongside {{glossary.Triggers}}**

## Overview

Variables are the primary means of storing and referencing data in your Tulip apps. 


When you want to store the value of a text input or access a pre-determined property of the app, you need a variable. 



Or, when you want to calculate specific values based on past user decisions within the app, you need a variable.



Variables can either **reset upon app {{glossary.Completion}}** or **maintain their values through multiple completions** depending on your specific use case.



When designing an app, a variable is often used to store the output from a device. 



A variable can also be used as the condition for other triggers which will drive app logic, either by: 



1. Changing text displays
2. Advancing to other {{glossary.Steps}}, or...
3. Prompting the operator to perform another task.

Variables are also needed to build detailed reports in the Analytics tool. If you want to individual data points from the operator, you will need to capture them in variables.


## Create a variable


There are two primary ways to create a variable in the {{glossary.App Editor}}: 

* The **[variables dialog](/r230/docs/variables#variables-dialog)**
* In a **[trigger](/r230/docs/variables#create-a-variable-in-a-trigger)**


### Variables dialog


In order to create a new variable through the App Variables dialog, follow these steps:



1. Select the {{glossary.App Tab}} from the {{glossary.Context Pane}}.
2. Click on the ***X*** next to **Variables**.

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Create%20And%20Use%20Variables_471418756.png)



3. The modal that opens shows all the variables in the current app, along with associated attributes as described below:  


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Create%20And%20Use%20Variables_471420060.png)

![How To Create And Use Variables_471418756.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Create%20And%20Use%20Variables_471418756.png){height="" width=""}

4. Click **+ Create Variable**.
5. Name the variable and select a variable type from the dropdown. Click **+ Create**.


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Create%20And%20Use%20Variables_471423710.png)

## Variable attributes

### Data type

The type of data being stored in the variable. This can take on one of the following values: 


* {{glossary.Number}} (including decimals)
* {{glossary.Boolean}} (true/false)
* Text
* {{glossary.Integer}}
* {{glossary.Interval}} (number of seconds)
* {{glossary.Image}} (URL or manual upload)
* Tulip User
* {{glossary.Datetime}} (timestamp)
* Station
* Machine
* {{glossary.Array}} (of any variable type listed)
* {{glossary.Object}}
* [Color](https://support.tulip.co/docs/how-to-dynamically-change-colors-of-widgets)

:::(Info) ()
Learn more about each data type [here](/r230/docs/data-types).
:::

### Info and configuration

**Where used**: A hierarchy displaying the step name and trigger / widget where the variable is in use. 

**Clear on {{glossary.Completion}}**: Whether or not the data in the variable gets cleared when the app is completed. Please note: these variables will be cleared after the "[Complete and Go To Splash Screen](https://support.tulip.co/docs/how-to-complete-an-app) action.

:::(Info) (Tip)
If you want a value to remain in the variable when the app is completed, un-toggle **Clear on Completion** for the variable. 
:::

**Save for {{glossary.Analytic}}:** This toggle will be on by default. If you do not want a variable to be sent to an analysis for any reason, you may uncheck this box. Some variables may only be used for app logic, and are not needed in analytics. In these cases, it is best practice to not send them to analytics. Un-toggling non-essential variables may also help your analytics load faster as there will be less data to load in high-volume scenarios.


**Default Value:** Set an initial value for the variable every time an operator starts the app


### Create a variable in a trigger


When creating or editing a trigger, you can create a variable by following these steps:



![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Create%20And%20Use%20Variables_471426638.png)


1. Create a new trigger.
2. In a new action, select **Data Manipulation** --> **Store**.
3. For this example, select **Static Value** --> **Text** --> "Text" location: **Variable** --> **New variable**.

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Create%20And%20Use%20Variables_471427516.png)


5. Type a name for the new variable and click the **green check**.
6. Click **Save**.

The variable you create will be available to edit in the variable dialog.


## Persistent variables


Persistent variables allow you to save a value in a {{glossary.Variable}} across multiple app {{glossary.Completion}}s.



Persistent variables **save values relative to each the device running the app. They will not be overwritten if the app is used on multiple devices simultaneously.**



So, if you have a visual andon app with a persistent variable that runs on 5 production lines, each line supervisor can update the variable on their app and the values will not be overwritten or conflict. They exist independently on each tablet running the Player.



## Variables in form steps

:::(Warning) (Warning)
As of r234, Form steps have been disabled for all new Tulip Instances.
:::

The last way to create a variable is **through a Form Step**. See the  [guide to Form Steps](/r230/docs/how-to-build-your-first-form-step).

## Use variable text


Once you create a variable, it is available for use in the actions and conditions of newly created and existing triggers in the app. It is also available in the Text widget, accessible from the {{glossary.Toolbar}}. 


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Create%20And%20Use%20Variables_471429326.png)



In order to access the value stored in a specific variable, select the relevant variable name from the Variables dropdown in the {{glossary.Context Pane}}: 



![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Create%20And%20Use%20Variables_292307571.png)

You will be prompted to select your **Datasource**:


* **Variable**: Any variable in your app that you've created
* **App Info**: Variables that are automatically logged in your app (Ex: Logged-In User Name, Time Elapsed On App and Step Name)

It is worth noting that variables are stored on a per-app basis, so there are **no step-specific variables** and they **cannot be shared between apps**.



## Delete {{glossary.Variables}}

To delete a variable, you must remove it from all Triggers and Variable text widgets where it is being used.

1. Open the **Variables Dialog** from the {{glossary.App Tab}} of the {{glossary.Context Pane}}.


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Create%20And%20Use%20Variables_471430030.png)



2. Use the **Filter By** search box to find the variable you wish to delete.


3. Click the **...** icon on the far right.



![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Create%20And%20Use%20Variables_471430961.png)

### Delete all unused variables

The delete unused variables action erases all variables that are empty in the **where used** section.

In the variables dialog, click the "**...**" icon and select **Delete unused variables**.
![new2.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/new2%281%29.png)

## Further Reading


* [Best Practices for Naming Elements in Tulip](/r230/docs/best-practices-for-naming-elements-in-tulip)
* [How to Dynamically Change the Color of Widgets](/r230/docs/how-to-dynamically-change-colors-of-widgets)


---

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!
