---
title: "List of trigger actions and transitions"
slug: "list-of-trigger-actions-and-transitions"
tags: ["App Editor (Route)", "Triggers"]
updated: 2025-04-14T13:37:54Z
published: 2025-04-14T13:37:54Z
canonical: "support.tulip.co/list-of-trigger-actions-and-transitions"
---

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

# List of trigger actions and transitions

*The full list of Actions and Transitions that are available in the dropdown menus in the Trigger Editor*

## Purpose

The [Trigger Editor](https://support.tulip.co/docs/what-are-triggers) allows you to write powerful logic within your frontline operations app. It allows you to create **Actions** that incorporate many other parts of the Tulip platform, like:

- Station names
- Badge IDs
- Connector functions
- ...and much more.

There are three types of statements you can create:

**When:** Determine when the trigger can run **If:** Determine whether an action should run or not **Then:** Specify which actions should be triggered by a certain event.

This guide will cover the full list of possibilities for each type of statement. If you would like to learn how to create a Trigger, [check out this separate guide](https://support.tulip.co/docs/how-to-add-triggers-with-conditions-ifelse-statements)

## List of Actions and Transitions

## When

### device

Fire upon specific event from connected device

### timer fires

Fire event on pre-determined time intervals

### machine

Fire event when step is open and event occurs in machine that is actively monitored

### step is opened

Fire upon Step opening

### step is closed

Fire upon Step closing

### button is pressed

Fire upon operator pressing a button

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/List%20of%20Actions%20and%20Transitions%20in%20the%20Trigger%20Editor_129487230.png)

## If

### Table

Check whether a table contains a record with a specific ID

### Table Record

Check whether a table record loaded into the app has a field with a specific value

### Expression, Static Value, Variable

Check or compare any of these values to another variable or static value

### Users

Check if a User Field or other detail about the user contains a specific value

### User Groups

Check if a User Group contains a specific member, such as the logged-in user

### App Info

Use a value from any of these metadata that are determined when the app is run in the Player:

- **Logged In User:** Select from a list of Tulip users
- **Logged In User/Badge ID:** The badge ID of the logged-in user
- **Logged In User/Name:** The name of the logged-in user
- **Time Elapsed on Step:** The total amount of time spent on a specific step
- **Time Elapsed on Current Step:** The total amount of time spent on the current step
- **Time Elapsed on App:** The total amount of time spent in the app during this runtime
- **App Name:** The name of the app
- **App Version:** The current version of the app
- **Station Name:** The name of the station where the app is running
- **Step Name:** The name of the current step
- **Step Name:** The name of the current step group
- **Shift Name:** The name of the current shift, as defined in the Schedules tool
- **Current Date And Time:** The date/time when the app was started
- **Target Cycle Time For Current Step:** The specified expected cycle time for the step that the operator is viewing
- **Target Cycle Time for App:** The specified cycle time for the whole app

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/List%20of%20Actions%20and%20Transitions%20in%20the%20Trigger%20Editor_189549467.png)

## Then (Actions)

### [Array](https://support.tulip.co/docs/how-to-use-arrays-in-apps)

Manipulate an existing Array that is stored in a Variable using [common array methods](https://www.w3schools.com/js/js_array_methods.asp).

- *Clear Array*
- *Concatenate Array*
- *Get from index in array*
- *Get length of array*
- *Join to String*
- *Pop From array*
- *Push onto array*
- *Set index in array*

### Data Manipulation

Modify a Variable or a Table Record that is loaded into the app. This is one of the most common uses of the Trigger Editor.

- *Clear:* Clear the value of a variable or field in a Table Record
- *Store:* Store a specific value in a variable or field in a Table Record
- *Increment Value:* Increase a number by a specific amount in a variable or field in a Table Record
- *Decrement Value:* Decrease a number by a specific amount in a variable or field in a Table Record

### Logout Current User

Logout the current user and return to the login screen. Frequently used for security purposes.

### Open Link

Load a specific website in new window in Google Chrome

### Play Sound

Play a predetermined sound through the user's speakers

### Player Menu

Choose one of these three actions:

- *Open Menu*: Open the default player menu
- *Open Comments:* Allow the operator to add a comment on the specific step that is open
- *Pause App:* Pause the timer that tracks time spent in the app. Used for bathroom breaks etc.

### [Print Steps](https://support.tulip.co/docs/how-operators-can-print-app-data-or-save-it-to-a-pdf)

Print the step on the screen using the computer's default print dialog

### Run Connector Function

Run a Connector Function that has been created using the Connectors feature

### Run Device Function

Run a specific function with a connected device that is attached to an Edge Devices at the same Station as the app.

### [Scan Optical Barcode](https://support.tulip.co/docs/how-to-scan-barcodes-and-qr-codes-via-your-devices-camera)

Presents the operator with prompt to scan a barcode via the webcam on their laptop or tablet

### Send Email

Send a text email to a Tulip user or user group

### Send SMS

Send a text to a Tulip administrator that has added their phone number

### Send SMS With Image

Send a text and image to a Tulip administrator that has added their phone number

### Show Error

Show a red error message at the bottom of the Player

### Show Message

Show a yellow information message at the bottom of the Player

### Split String

Split a string based on a specific delimiter into an array and store it in a variable

### [Table Record](https://support.tulip.co/docs/how-to-modify-tables-within-the-app-editor)

Create or load a new table record using a Record Placeholder that has been defined in the App Editor.

- *Create Record*
- *Create or Load Record*
- *Load Record*
- *Delete Record*
- *Clear Record Placeholder*

## Then (Transitions)

### [App](https://support.tulip.co/docs/how-to-complete-an-app)

Cancel, Complete, log out or complete and go to splash screen.

- Cancelling the app does not save any data.
- Completing the app stores data and returns to the first step and immediately runs the app again.
- The splash screen forces the operator to press "Begin" before starting the app.
- Logging out the current user will exit the app and return the badge ID entry screen

### Go To Step

Go to the next, previous or a specific Step. Can go to a step with a specific name

---

Did you find what you were looking for?

You can also head to [community.tulip.co](https://community.tulip.co/?utm_source=intercom&amp;utm_medium=article-link&amp;utm_campaign=all) to post your question or see if others have faced a similar question!

**Actions**

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

**Transitions**

**Transitions******are a type of logic in **triggers****.****Transitions** can move operators between steps/apps or start/stop the app.

Only 1**Transition******can be added to a single **Trigger.**

*ex:**Complete then change to X app, Next step, Previous step, Cancel app, etc.*

**Trigger**

**Triggers** are groups of logic that are tied to an app event, such as step open, timer, widget interaction, etc. App builders can add triggers to **widgets**, **machines**, **devices**, **apps**, and **steps**.

**Triggers** can contain **actions**, **transitions**, and **conditions**.

**Step**

A view your users will see within an application. **Steps** can be viewed chronologically or in whatever order best fits your process.

Steps can be grouped into **Step Groups**to manage and organize your app Steps.

**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)

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

**Expression**

A configured code snippet that returns a calculated value based on certain inputs. **Expressions**have access to all of the variables, Table Records, and any other data available to an application.

**Static Value**

**Static values**are unchanging values that can be used within Triggers. Static values can be of any **Variable**type.

**Variable**

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

**App Info**

**App Info**is a subset of the data available within an application automatically. This data can be used both in **Widgets**and**Triggers.**This includes the current date and time, the app name, the app version, the current shift, and more.

**Array**

**Arrays**are a Tulip Datatype. Arrays are a list of other variables. Every element in an array must be the same type.

Arrays are very useful when managing multiple values that represent the same information.

*ex. The measurements of 10 quality checks can be stored in an Array of Numbers, as opposed to 10 Number variables.*

**Connector Function**

**Connector Functions** are individual operations to interact with an HTTP or SQL Datasources. Connector Functions can have inputs and outputs, and can be called from: Triggers, Functions, Automations, and AI Agents.

Once pulled, data can be used throughout your applications.

**Edge Devices**

**Edge Devices** are any hardware intended to connect physical things to the cloud. This can include entirely mechanical devices, older machines without network functionality, PLCs, and more.

Tulip sells the **Edge IO** and **Edge MC** that interface directly into **Triggers** in a breeze, but Tulip can also support other Edge Devices.

**Tulip Player**

**Tulip Player** is the Windows/Mac executable program where users can run Tulip apps. Tulip player allows you to create a more seamless user experience by removing the need for a web browser, and allows increased IT controls.

**Table Record Placeholder**

A **Table Record Placeholder** is a reference to a row in a **Tulip Table**. Table Records can be created either from the Table UI or from an App Trigger.

**App Cancel**

**App Cancels**are a restart of an application without storing its data in a **Table.**

By default, after a cancellation users will be brought back to the **Begin Screen**of your application. This behavior can be adjusted with other **Transition**types.

**App Completion**

**App Completions**are a mechanism to store immutable data from a Tulip app. When an app is completed, all **Variable's**current values will be stored in the app completions tab.****This completion data can be analyzed in **Analytics.**

By default, after a Completion users will be brought back to the **Begin Screen**of your application. This behavior can be adjusted with other **Transition**types.
