--- title: "List of trigger actions and transitions" slug: "list-of-trigger-actions-and-transitions" tags: ["Transition", "Triggers", "Actions", "App Editor (Route)"] status: "update" updated: 2026-11-06T21:41:59Z published: 2026-11-06T21:41:59Z 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* [Triggers](https://support.tulip.co/docs/what-are-triggers) let you write powerful logic within your Tulip apps. It allows you to create **Actions** and **[Transitions](/r230/docs/transitions)** 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. Learn how to [create a trigger](https://support.tulip.co/docs/triggers#create-a-trigger) or use [conditional trigger logic](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 a 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 ## If ### App info Use a value from App Info metadata that is gathered 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 Group 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 ### Current step input validity Check the value of one or multiple input widgets on the current step. ### Expression Check or compare an expression, variable, or static value to another value (variable or static value). ### Last machine output Check the value of the last machine output either from a specific machine, the current station, or a machine variable. ### Machine Check or compare the state of a specific machine, or a machine at the current station against another value. ### Machine activity field Check or compare the machine activity field status at the current station or for a specific machine against another value. ### Station Check or compare a station against another value. ### Table Check whether a Table contains a Record with a specific ID ### Table linked record field Check or compare the status of Linked Record fields between tables within an app. ### Table record Check whether a Table Record loaded into the app has a field with a specific value ### User Groups Check if a User Group contains a specific member, such as the logged-in user ### Users Check if a User field or other detail about the user contains a specific value ### Vision modal Check the value of a specific vision modal. ## Then (Actions) ### AI Perform one of the following AI actions: - [Extract all text from a document](https://support.tulip.co/docs/extract-text#extract-all-text-from-imagedocument) - [Extract all text from an image](https://support.tulip.co/docs/extract-text#extract-all-text-from-imagedocument) - [Extract value from image](https://support.tulip.co/docs/extract-text#extract-value-from-image) - [Extract values from document](https://support.tulip.co/docs/extract-text#extract-values-from-imagedocument) - [Extract values from image](https://support.tulip.co/docs/extract-text#extract-values-from-imagedocument) - [Translate](/r230/docs/translate) ### App Save all current app data. ### Array 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 Learn more about [arrays](/r230/docs/use-arrays-in-apps). ### Capture app screenshot Capture a screenshot of an app and save it to an image variable. Learn more about [capture an app screenshot](https://support.tulip.co/docs/capture-app-screenshot). ### Copy to clipboard Copy a value to your local device's clipboard. ### 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 ### Input validation Check the value of one or multiple input widgets. ### Logout current user Logout the current user and return to the login screen. Frequently used for security purposes. ### Open file or folder Open a file or folder from a designated path. ### 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 [Print the step](/r230/docs/print-a-step) on the screen using the computer's default print dialog. ### Print using system dialog Print the step using your local system's 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. ### Run function Run a [function](/r230/docs/functions) that has been created in the [Functions Editor](/r230/docs/functions-editor). ### Save image Save a specific image as a URL to a designated value. ### Scan optical barcode Presents the operator with prompt to [scan a barcode via the webcam](/r230/docs/scan-barcodes-and-qr-codes-with-a-device-camera) 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 ### Stop remaining triggers End the rest of an event's triggers. All actions after it in the same trigger are ignored. ### Table record 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 ### Write machine attribute Write a machine attribute to a specific machine, machine variable, or the machine at the current station. ## Then (Transitions) Learn more about [transitions](/r230/docs/transitions). ### App Cancel, Complete, log out, or complete and go to the splash screen or a step. - 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. ### Go to step by name Go to a step based on a value. --- 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 solved a similar topic! **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.* **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. **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. **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. **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.** **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. **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.** **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.** **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.* **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. **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**. **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. **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.