---
title: "App level triggers"
slug: "app-level-triggers"
updated: 2022-09-30T19:05:12Z
published: 2022-09-30T19:05:12Z
canonical: "support.tulip.co/app-level-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.

# App level triggers

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

- **What are App level Triggers?**
- **Types of App level Triggers**
- **Example App level Triggers usecases**

## App Triggers

App Level Triggers are activated by these events.

- App started.
- App completes
- App is cancelled

They can be modified on the App Tab of the Side Pane:

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/What%20are%20Triggers_189553020.png)

All of these Triggers can be activated automatically on any Step.

For example, if you have a "Complete" button on three different steps, the "App Completed" trigger can run on any of those steps.

          Note

          

Transitions cannot be added to App Level Triggers

## App Started

The app started App Level Triggers will run everytime an app is started within the Tulip Player. One application can launch another app to any Step, but App Started triggers will run regardless of the Step where the app is started.

![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%2816%29.png)

### Example Usecase

App Started Triggers are very useful for loading any assets required throughout your application.

*ex. My application relies on a Station Handoff table where the current status of each Station is stored, this table includes the throughput of my station, its physical location, and more. Each Record in my Table is associated with a station name.*

![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%2817%29.png)

## App Completed

App completed, much like Step Level Triggers for "on step exit", will run whenever an app completion is executed.

### Example Usecase

"App Completed" Triggers are very useful to close out processes.

*ex. When my users complete the fulfilment application, I want to send an email to purchasing to reorder the materials I requested.* ![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%2818%29.png)

## App Cancelled

App cancelled Triggers will fire when an app Transition is fired that cancels the app.

### Example Usecase

App Cancelled Triggers are very useful when supporting user mistakes within an application. When a mistake is made, a Transition can be triggered to cancel the application, this will remove any app completions with that erronious data. Custom behavior might be required in this case, and that is where App Cancelled Triggers come into play.

*ex. When a defect is created for a mixing process, users are walked through a process to try to resolve that defect. When this app is complete, that batch is assumed to be defective, but if the batch can be resolved, an app cancel is executed so the batch doesn't count towards defect counts. If this is the case, we want to write what step of troubleshooting resolved the defect to a Table, so we can better understand the most common failure modes*

![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%2819%29.png)

## Further Reading

- [**A Guide to App Transitions**](/r230/docs/a-guide-to-app-transitions)
- [**How to add Device Triggers**](/r230/docs/how-to-add-device-triggers)
- [**Technical details of the Expression Editor**](/r230/docs/technical-details-of-the-expression-editor)

**App-Level Triggers**

**App-level Triggers**are triggers that are configured with each app. App-level triggers can be triggered based on 3 actions:

1. App Started
2. App Cancelled
3. App Completed

**App Tab**

In the **Side Pane**, the**App Tab** is where you can adjust all of the **App****-level**settings, including **App****Triggers,**App background, App resolution, and more. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/App%20Tab.png)

**Side Pane** **(Context Pane)**

The**Side Pane**is the configuration pane on the right side of the **App Editor**where steps, apps, and widgets can be configured. **Triggers**can be added to adjust widget behavior.![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Context%20Pane.png)

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

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

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

**Station**

**Stations**are a digital representation of a physical place or device in your facility. Stations are 1:1 with **Interfaces (display devices)** running Tulip Player, but Stations can also be assigned **Edge Devices,**Tulip Vision Camera Configurations, Machines,****and more.

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

**Step-Level Trigger**

A**step-level trigger** is a trigger configured with each app step. Step-level triggers can be triggered based on 4 actions:

1. Step Opened
2. Every X seconds (Timer)
3. Machine/Device outputs data
4. Step Exited

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

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