--- title: "Widget triggers" slug: "widget-triggers" tags: ["Triggers", "Widgets", "Widget"] status: "update" updated: 2026-10-26T18:32:22Z published: 2026-10-26T18:32:22Z canonical: "support.tulip.co/widget-triggers" --- > ## 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. # Widget triggers **In this article, you will learn:** - **What are widget triggers?** - **How can you use widget triggers?** - **Example widget trigger use cases** Widget Triggers are configured logic that automatically runs when users interact with Widgets. Widget triggers can streamline how your users interact with Tulip Player by removing the need for *Next* buttons. ![Widget tab triggers](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Widget%20tab%20triggers.png) ## How to use widget triggers Widget triggers are available for all buttons, Input Widgets, and the interactive table widget. Often, these triggers run when the value of that input changes. So, when users toggle a checkbox or select a value from a single select, the triggers will run. Learn more about [input widgets](/r230/docs/input-widgets). ### Text and number inputs Text and number inputs work slightly differently than other input widgets, in that they fire when the [Enter] key is pressed. WARNING In the case of the text input widget, users may need to enter multi-line values to enter content. These inputs will cause the widget triggers to run; ensure this behavior is supported by your widget trigger logic. #### Example *I want users to enter an order number at the beginning of our application (to eventually process that order). Users will be manually entering this order number, but we have been having issues where users arent following the correct order number format.* *My order numbers follow the pattern: **Order 1234-567** and I want to make sure users have entered this order correctly before allowing them to proceed. This behavior can be achieved with a Regular Expression (Regex), but we can leverage input triggers to do this validation automatically in the background, streamling the process for our users.* *In this case, the correct regular expression is "Order: [0-9]{4}-[0-9]{3}". To check this automatically, I can add this Widget trigger.* ![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%2820%29.png) ### Interactive table widget When a row is selected in the interactive table widget, the row will be loaded into a Linked Placeholder, if a Linked Placeholder has been mapped. On top of loading the selected record into a Record Placeholder, a trigger is also run when a Record is loaded. Learn more about [interactive table widgets](/r230/docs/interactive-table-widgets). #### Example *When users select an order from our backlog of open orders, we need to set the status of that order to IN PROGRESS. This could be done with a normal button Trigger, but we can streamline the user experience by building this directly into the Widget.* *Additionally, when users select an order, we will move users to the next step in our application, where users can act on that order* ![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%2822%29.png) ## Further reading - [**Working with Time in Triggers**](/r230/docs/how-to-run-date-and-time-calculations-in-apps) - [**How to add a Regular Expression to a Trigger**](/r230/docs/how-to-add-a-regular-expression-to-a-trigger) - [**How to use the Expression Editor**](/r230/docs/how-to-use-the-expression-editor-in-the-app-editor) --- 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! **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**. **Widgets** **Widgets** are the elements that make up a specific **App Step.** Widgets can display information to users, collect user input, or trigger app logic. *Common widgets include: Interactive Tables, Number inputs, Machine attribute widgets, 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. **Input Widget** **Input widgets** are a set of **Widgets** specifically designed for users to enter information. Input widgets must be associated with a location where the user input is stored. **Linked Placeholder** **Linked Placeholder** are one of the **Side Pane** settings for the Interactive Table **Widget** and **Record** **History** Widget**.** This setting can be tied to a **Table Record Placeholder,** and when users select a row in the **Widget,** that record is loaded into the mapped **Record Placeholder.** **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. **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.** **Widget** **Widgets** are the elements that make up a specific **App Step.** Widgets can display information to users, collect user input, or trigger app logic. *Common widgets include: Interactive Tables, Number inputs, Machine attribute widgets, and more.*