--- 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&utm_medium=article-link&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.