---
description: Learn all about Triggers and how they can be used to make a Workflow run.
title: Workflow Triggers
image: https://assets1-proxy.respond.io/api/v1/image/assets%2F11f7a662b80a4675973850b067c01fa5%2F3f43c48b21b24f4e8b02b100c0c8fab0
---

[New🌍 WhatsApp API Calling is now available globally! Start making calls with respond.io today. Learn more![arrow-icon](https://assets1-proxy.respond.io/api/v1/image/assets%2F11f7a662b80a4675973850b067c01fa5%2Fe43213a7a9314673bd8d2060c25f9b87)](/whatsapp-business-calling-api)

Help me with... ⌘ 

1. [All Collections >](/help)
2. [ Product >](/help/product)
3. [ Workflows >](/help/workflows)
4. Workflow Triggers

# Workflow Triggers

![Avatar](https://assets2-proxy.respond.io/ph8r57dk1q9w/4GvzCieeTBRY4TRJUbIr4y/b92428e6b049d23f546269180534f7ea/Ryan_Tan_Avatar.svg)

Joshua Lim

· 12 Nov 2025

9 min read

## Workflow Trigger

A Trigger is an event that will initiate a Workflow. Every Workflow must start with a Trigger and can have only one Trigger. All Triggers are defined by conditions. A Trigger will only fire and initiate a Workflow when all conditions are met.

Start creating your Workflow by selecting the Trigger and configuring it accordingly.

Here is the list of available Triggers:

| Trigger               | Description                                                                                                             |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| Conversation Opened   | Triggered when a conversation with the Contact is opened.                                                               |
| Conversation Closed   | Triggered when a conversation with the Contact is closed.                                                               |
| Contact Tag Updated   | Triggered when a specified tag is added to or removed from the Contact.                                                 |
| Contact Field Updated | Triggered when the specified contact field is updated or edited.                                                        |
| Shortcut              | Triggers when the shortcut is selected from the Inbox module.                                                           |
| Incoming Webhook      | Triggers when an external app or service sends an HTTP POST request.                                                    |
| Click-to-Chat Ads     | Triggers when an Ad is clicked or an Ad related message is received.                                                    |
| Manual Trigger        | Triggers for a Contact when the Trigger Another Workflow Step is executed and linked with a Workflow with this trigger. |
| TikTok Messaging Ads  | Triggers when a TikTok ad is clicked or a TikTok ad-related message is received.                                        |
| Lifecycle Updated     | Triggers for a Contact when their Lifecycle stage is updated.                                                           |

After the Trigger has been specified, move on to [Step configuration](https://respond.io/help/workflows/workflow-steps#workflow%5Fstep). Choose any of the available steps.

### Advanced Settings

Each Trigger setting has an Advanced Settings toggle at the bottom that specifies Trigger once per contact (except for Manual Trigger). This restricts Contacts from ever repeating this Workflow, so they can only go through the Workflow journey a single time.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/58N4S8yAxF3qUFSRdYpIcu/35628082a6f2b3335c271ffca5f22061/ScreenRecording2025-04-16at3.02.47PM-ezgif.com-crop.gif?w=480&fm=avif)

When the toggle is ON, the Workflow will not be triggered for any Contact who has enrolled in this Workflow before, even if the condition was set to OFF when it happened.

**Configuration of Trigger**

Every Workflow has to start with a Trigger and can only have a single Trigger. When the trigger conditions are met, the Workflow will be carried out sequentially on the triggering Contact.

## Trigger: Conversation Opened

Initiates the Workflow when a conversation with the Contact is opened and all trigger conditions are met.

**Configuration**

The trigger condition for this Workflow is limited to source, which identifies how the conversation was opened. Where no conditions are added, the Workflow will trigger whenever a conversation is opened no matter the Source.

The Sources are as follows:

| Source            | Description                                                                                                             |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------- |
| User              | The conversation is opened by the User (outbound conversations).Common use cases:New features updatesFollow-up messages |
| Workflow          | The conversation is opened by a Workflow step.                                                                          |
| Contact           | The conversation is opened by the Contact (inbound conversations).Common use cases:Contact routingContact assignment    |
| API               | The conversation is opened by the Developer API.                                                                        |
| Zapier            | The conversation is opened by a Zap.                                                                                    |
| Make              | The conversation is opened by Make.                                                                                     |
| Click-to-Chat Ads | The conversation is opened by clicking on an Ad.                                                                        |

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/6uZegIQZvSTAgS9Pymo1YK/11326f18fc0159019795cc32ea614efc/image.png?fm=jpg&q=80&w=640)

For each Source, a maximum of 10 conditions is allowed with either AND or OR logical operators. Each condition is required to have its own source, an operator and a value.

**Trigger Variables**

All trigger variables for the Conversation Opened trigger reflect information related to the conversation, such as conversation first incoming message. Learn more about trigger variables for the [Conversation Opened trigger here](https://respond.io/help/dynamic-variables/dynamic-variables#workflow%5Ftrigger%5Fvariables).

## Trigger: Conversation Closed

> Adding conditions to the conversation close trigger is optional. If no conditions are added, the Workflow will trigger whenever a conversation is closed no matter the Source.

Initiates the Workflow when a conversation with the Contact is closed and all trigger conditions are met.

**Configuration**

There are two possible trigger conditions for Closed Conversations: Source, which identifies who closed the Conversation, and Category, which identifies the conversation's classification.

The following Sources will trigger this Workflow if they close a conversation:

| Source   | Description                                      |
| -------- | ------------------------------------------------ |
| User     | The conversation is closed by the User.          |
| Workflow | The conversation is closed by a Workflow step.   |
| Bot      | The conversation is closed by bot.               |
| API      | The conversation is closed by the Developer API. |
| Zapier   | The conversation is closed by a Zap.             |
| Make     | The conversation is closed by Make.              |

> Conversation closed by merging contact will NOT trigger a Workflow.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/26NuE6Rncht8tqzcJSHoHy/e84182ccbab1e903749ce9d75a8f31ed/image.png?fm=jpg&q=80&w=640)

This Workflow will also be triggered if conversations related to specified Categories are closed. These Categories are determined in the Closing Notes section of the platform. In Workflows, they will appear as choices in the dropdown menu for values.

For each Source and Category, a maximum of 10 conditions is allowed with either AND or OR logical operators. Each condition is required to have its own source, an operator and a value.

**Trigger Variables**

All trigger variables for the Conversation Closed trigger reflect information related to the conversation, such as conversation resolution time, first response time and the closing summary of the conversation. Learn more about [trigger variables for the Conversation Closed trigger here](https://respond.io/help/dynamic-variables/dynamic-variables#workflow%5Ftrigger%5Fvariables).

## Trigger: Contact Tag Updated

Initiates the Workflow when specified Tags are added to or removed from a Contact.

**Configuration**

To configure this Workflow, select an action that will act as a Trigger. The options are when a Tag is added to a Contact or when a Tag is removed from the Contact.

Next, select Tag(s) that will be the condition(s) to be met for the Workflow's initiation.

> Importing contacts with tags or custom fields doesn't automatically trigger Workflows. To activate Workflows after importing, a secondary action is required. For more information on initiating Workflows post-import, refer to our developer API or integration tools like Make/Zapier.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/6CYKYX57Z8O8FZxZegeLMN/695a577e72d73fab5ec55693641a5d4a/image.png?fm=jpg&q=80&w=640)

## Trigger: Contact Field Updated

Initiates the Workflow when a specified Contact Field is updated.

**Configuration**

Any Contact or Custom Field can be configured as a Trigger for this Workflow. Select the Contact Field that will act as a condition for this Trigger. Any update to this field will initiate the Workflow.

> Importing contacts with tags or custom fields doesn't automatically trigger Workflows. To activate Workflows after importing, a secondary action is required. For more information on initiating Workflows post-import, refer to our developer API or integration tools like Make/Zapier.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/1t4S3ejfdvZbt6Gm29DOal/5f7436171dd1b390d8aa8126d98a1744/image.png?fm=jpg&q=80&w=640)

## Trigger: Shortcut

Initiates a selected Workflow from the Shortcut menu in the **Inbox** module.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/1KTVJEab9OdKdHSyfKZWUU/a687a2ef0e2ae353f4a650e64540f973/image.png?fm=jpg&q=80&w=640)

**How it Works**

Shortcut refers to a Workflow that is created with the trigger ‘Shortcut’. This feature allows Users to launch Workflows that have Shortcut as a trigger without leaving the **Inbox** module.

In the **Inbox** module, click the Shortcut icon at the toolbar of the message composer. This will open the Shortcuts menu, which shows all the Shortcuts published in the Workspace. Select the desired Shortcut to initiate its Workflow.

The Shortcut icon will be disabled if there are no Shortcuts created and published in the Workspace.

> If you do not wish to allow Agents to initiate Shortcuts, disable it in the [Advanced Restrictions settings under Workspace User Settings](https://respond.io/help/workspace-settings/users#editing%5Fusers)​.

**Configuration**

You can configure Shortcuts with individual icons, names and descriptions. When the Shortcuts menu opens, these will be displayed to allow you to easily identify and select the desired Shortcut.

**Shortcut Form**

In the configuration drawer of the Shortcut trigger, you can opt to create a Shortcut form. Any time the Shortcut is triggered, the form will open. The Workflow will only be initiated after the form has been filled in by the User.

The Shortcut form can be customized with form fields to input data or comments. The values filled in can be saved as variables and used in the Workflow.

**To add a form field:**

1. Click the **\+ Add Form Field** button.
2. Name the form field. For e.g. Order ID, Refund Reason.
3. Select the field type. The available field types are:
* Text
* List (dropdown)
* Checkbox
* Number
* Date
* Time
* Phone Number
* Email
* URL

4\. Name the variable for this field.

5\. Use the output variables in the Workflow Steps. Learn more about [output variables here](https://respond.io/help/dynamic-variables/dynamic-variables#workflow%5Ftrigger%5Fvariables).

6\. Set the form field as required by switching the **Required** toggle to ON. This makes it mandatory for Agents to fill in the data or comments.

## Trigger: Incoming Webhook

Initiates the workflow when a specific event occurs on a third party application and the information is sent via HTTP request.

> This trigger is available for **Business plan and above only**.

**Configuration**

Once you select this trigger, a unique webhook URL is automatically generated for each of your workflows. You will send HTTP POST requests to this URL to eventually trigger the workflow.

You will then need to provide the JSON key in your payload that matches the contact identifier type. This allows our system to identify which Contact or Contacts will be triggered by the workflow. It has a max character limit of 500.

There are three main Contact identifier types (how we identify a Contact):

* Contact ID
* Email
* Phone number
![](https://assets2-proxy.respond.io/ph8r57dk1q9w/4jvFLwlCUpqokvBV1bWpay/7f6ae084b4c690a7e60d201e2c629238/image.png?fm=jpg&q=80&w=640)

You can also store the parameters in your incoming webhook payload as variables so you can use them in other steps in the workflow depending on your use case.

**Requirements:**

* The JSON key in your payload must match the text in the JSON field on the platform.
* The same JSON key cannot be saved twice; it must be a defined value (not an object or an array).
* The JSON key has a max character limit of 500.

You will complete the process by saving the JSON key-value to a variable. The variable must be unique in text and has a max character limit of 30\. A maximum of 10 variables is allowed. Please note that only JSON body can be saved.

**Example**

How to fill in the JSON key to save a response for different response formats:

```json
{   
    "name": "Jason",   
    "zip\_codes": "12345",   
    "phone": "123123"   
}
```

To save the phone number in the above JSON Body, use $.phone as the JSON key.

```json
{   
    "custom\_fields": {   
        "firstName": "John",   
        "lastName": "Doe",   
        "locale": "en\_GB",   
        "timezone": "5",   
        "gender": "male",   
        "phone": "123123",   
        "email": "zy@respond.io",   
        "customerid": "1"  
    },   
    "created\_at": 1575618542  
}
```

To save the phone number in the above JSON Body, use $.custom\_fields.phone.

```json
{  
        "data": {  
            "id":"1776025372480910",  
            "contacts" : \[  
                {  
                    "firstName":"John",  
                    "lastName":"Doe",  
		    "locale": "en\_GB"  
                },  
                {  
                    "firstName":"Jane",  
                    "lastName":"Doe",  
		    "locale": "en\_GB"  
                }    
	    \]  
        }  
    }
```

To save the first name ‘Jane’ in the above JSON Body, use $.data.contacts\[1\].firstName.

## Trigger: Meta Click-to-Chat Ads

Initiates the workflow when a Facebook Ad is clicked or when a message related to the Ad is received.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/3a725cVsr8HA3hhSAmJn1C/a81a87de8a28e58ec807a5aefd6c150f/image.png?fm=jpg&q=80&w=640)

**Configuration**

After selecting this trigger, connect your Facebook account to configure it.

Once connected to Facebook, select the Ad Account and relevant ads that you want the Trigger to be linked to.

> Only ads created and managed in the Ads Manager can be selected from here. If you created Ads from within a Meta application, e.g., Meta Business Suite or Instagram, they will not be listed here for selection.

**Ad selection**

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/3bUzLWvaxgPzeEDxJIOyR4/65c951b50491762bfc5a80fca0decd18/image.png?fm=jpg&q=80&w=640)

Select **All ads** to apply to **all current and future ads** in the selected Ad Account.

* To enable this, choose the **“All Ads”** option from the new segmented control button.
* When this option is selected, the Workflow will automatically trigger for all ads managed in the selected Ad Account, including any ads added in the future.

> If you prefer to target specific ads, select the **“Selected Ads”** option to manually choose ads from the dropdown.

**Trigger Variables**

When a Meta Click-to-Chat ad is triggered, respond.io retrieves **metadata** from the ad and stores it in **Trigger Variables**. These variables are useful for personalizing messages, routing leads, and passing campaign data to external tools.

**Available variables:**

| **Variable**                              | **Description**                                 |
| ----------------------------------------- | ----------------------------------------------- |
| $clicktochat.ad\_timestamp                | Time the ad was clicked                         |
| $clicktochat.ad\_first\_incoming\_message | First message sent by the contact               |
| $clicktochat.ad\_channel\_id              | ID of the messaging channel                     |
| $clicktochat.ad\_channel\_type            | Channel type (e.g. Messenger, WhatsApp)         |
| $clicktochat.ad\_contact\_type            | Type of contact (e.g. new or existing)          |
| $clicktochat.ad\_id                       | Ad ID                                           |
| $clicktochat.ad\_name                     | Name of the ad                                  |
| $clicktochat.ad\_campaign\_id             | Campaign ID                                     |
| $clicktochat.ad\_campaign\_name           | Campaign name                                   |
| $clicktochat.ad\_adset\_id                | Ad Set ID                                       |
| $clicktochat.ad\_adset\_name              | Ad Set name                                     |
| $clicktochat.ad\_ad\_url                  | URL of the ad                                   |
| $clicktochat.ad\_reference                | Reference string attached to the ad             |
| $clicktochat.ad\_status                   | Status of the ad                                |
| $clicktochat.ad\_objective                | Objective of the campaign (e.g. Leads, Traffic) |
| $clicktochat.ad\_optimization\_goal       | Optimization goal defined in Ads Manager        |
| $clicktochat.ad\_destination\_type        | Destination type (e.g. Messenger, WhatsApp)     |

> **Note:** These variables may return null depending on the metadata received from Meta. They are only available during Workflow execution after the ad is triggered.

**How to use**

Use any variable in your Workflow steps by referencing it with a dollar sign $. For example:

* Send a personalized message: Hi! Thanks for clicking on our $clicktochat.ad\_name ad!
* Add the campaign name to a Google Sheet
* Branch workflows based on campaign or ad set

## Trigger: TikTok Messaging Ads

Initiates the workflow when a TikTok ad is clicked or when a message related to the ad is received.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/30fYxutPW8XYDjpYW67hNH/502109ef6d5d95266001f9d3a18a499f/image.png?fm=jpg&q=80&w=640)

**Configuration**

After selecting this trigger, connect your TikTok ads account in Integrations to configure it.

Once connected to TikTok, select the Ad Account and relevant ads that you want the trigger to be linked to.

> Only ads created and managed in the TikTok Ads Manager can be selected from here.

**Ad selection**

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/1DqaNvHfA0C8QeM6ryIZE2/68f3a92689b3b4e6b5ed8985cbcd924f/image.png?fm=jpg&q=80&w=519)

Select **All ads** to apply to **all current and future ads** in the selected Ad Account.

* To enable this, choose the **“All Ads”** option from the new segmented control button.
* When this option is selected, the Workflow will automatically trigger for all ads managed in the selected Ad Account, including any ads added in the future.

> If you prefer to target specific ads, select the **“Selected Ads”** option to manually choose ads from the dropdown.

**Trigger Variables**

When a TikTok ad interaction triggers the Workflow, respond.io retrieves **metadata** about the ad and stores it in **Trigger Variables**. These variables can be used throughout the Workflow for personalization, routing logic, and integration with external tools (e.g., Google Sheets).

**Available variables:**

| **Variable**                                    | **Description**                        |
| ----------------------------------------------- | -------------------------------------- |
| $tiktokmessagingad.ad\_timestamp                | Time the ad was clicked                |
| $tiktokmessagingad.ad\_first\_incoming\_message | First message sent by the contact      |
| $tiktokmessagingad.ad\_channel\_id              | ID of the messaging channel            |
| $tiktokmessagingad.ad\_channel\_type            | Channel type (e.g. TikTok)             |
| $tiktokmessagingad.ad\_contact\_type            | Type of contact (e.g. new or existing) |
| $tiktokmessagingad.ad\_id                       | Ad ID                                  |
| $tiktokmessagingad.ad\_name                     | Name of the ad                         |
| $tiktokmessagingad.ad\_campaign\_id             | Campaign ID                            |
| $tiktokmessagingad.ad\_campaign\_name           | Campaign name                          |
| $tiktokmessagingad.ad\_adgroup\_id              | Ad group ID                            |
| $tiktokmessagingad.ad\_adgroup\_name            | Ad group name                          |
| $tiktokmessagingad.ad\_operation\_status        | Operation status of the ad             |
| $tiktokmessagingad.ad\_secondary\_status        | Secondary status of the ad             |

> **Note:** Not all variables may be available for every ad interaction. These variables can return null if the information is not provided by TikTok.

**How to use**

Use these variables in any Workflow step by referencing them with a dollar sign $. For example:

* Add a tag: $tiktokmessagingad.ad\_campaign\_name
* Update a custom field
* Pass metadata to external apps via HTTP Request or Google Sheets

## Trigger: Manual Trigger

The Manual Trigger can’t work on its own. It can only run through the Trigger Another Workflow Step.

> Learn more about the [Trigger Another Workflow Step here](https://respond.io/help/workflows/step-trigger-another-workflow).

If you’re connecting two or more Workflows together with the Trigger Another Workflow Step, you can use the Manual Trigger on the Workflows connected to the original Workflow. This means the connected Workflows will only work when a Contact enters the Workflow with the Trigger Another Workflow Step.

**Configuration**

The Manual Trigger can only be used with the Trigger Another Workflow Step.

Let’s say Workflow A is created with the Manual Trigger, and it’s connected to Workflow B. Workflow A will only trigger when Workflow B is published, and a Contact will enter Workflow A through the Trigger Another Workflow Step.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/4XlVhRiz6sXs5cmhrFyZmo/97d1efedeae75f15381cead8762f7f9a/image.png?fm=jpg&q=80&w=640)

## Trigger: Lifecycle Updated

The Lifecycle Updated Trigger initiates a workflow whenever a Contact’s Lifecycle Stage changes. This allows you to automate actions based on Contact progression through your sales stages, such as lead qualification, follow-ups, or customer retention efforts.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/5JUtAgVvucCrQiY0ZFJ6DF/0eb847e61356e5bd35a150439ab87fac/lifecycle-trigger-updated.png?fm=jpg&q=80&w=640)

### **Configuration**

**Enable Lifecycle in Settings**

Ensure the Lifecycle feature is enabled in your workspace settings. If Lifecycle is not enabled, you will need to turn it on before configuring this Trigger.

**Select Lifecycle Stage(s)**

After selecting this Trigger, choose the Lifecycle Stage(s) that will initiate the workflow.

* **All Stages**: Triggers the workflow whenever a Contact’s Stage is updated, regardless of the specific stage.
* **Specific Stages**: Triggers the workflow only when a Contact’s Stage is updated to one or more selected Stages. You can select one or multiple Stages as needed.

**Configure Advanced Settings (Optional)**

* **Trigger When Cleared**: Optionally, enable this setting to trigger the Workflow when a Contact’s Lifecycle Stage is cleared, leaving no assigned Stage.
* **Trigger Once Per Contact**: When enabled, this ensures the Workflow is triggered only once for each Contact, even if they re-enter the selected Stage.

> Use our [Google Sheets template](https://respond.io/help/convert-leads/how-to-automate-lifecycle-tracking-in-google-sheets) to capture key data and track conversion rates with the Update Lifecycle Step.

## FAQ and Troubleshooting

### Why aren't my Click-to-Chat ads appearing in the Click-To-Chat ads trigger?

If your Click-to-Chat ad isn't appearing as expected, it's likely due to specific settings in your ad configuration not aligning with supported types. Here's what to check:

* **Supported Channels:** Ensure the Channel you are using is supported. Currently, respond.io supports  
   * WhatsApp Business Platform (API)  
   * WhatsApp Cloud API  
   * Instagram  
   * Facebook Messenger
* **Ad Status:** Ensure your ad is set to either`Active` or `Paused`.
* **Campaign Objective:** Verify if your ad's objective matches one of the supported types.  
   * Previous Meta ads objective name: `BRAND_AWARENESS`, `LINK_CLICKS`, `CONVERSIONS`, `MESSAGES`, `TRAFFIC`, and `REACH`.  
   * New Meta ads objective name (beta): `OUTCOME_ENGAGEMENT`, `OUTCOME_AWARENESS`, `OUTCOME_TRAFFIC`, `OUTCOME_LEADS`, and `OUTCOME_SALES`.
* **Optimization Goal:** Your ad's optimization goals are one of the following: `OFFSITE_CONVERSIONS`, `CONVERSATIONS`, `IMPRESSIONS`, or `LINK_CLICKS`.
* **Destination Type:** Your ad’s destination types are one of the following: `APPLINKS_AUTOMATIC`, `INSTAGRAM_DIRECT`, `MESSENGER`, `APP`, or `WHATSAPP`.

Share this article

[![Telegram](https://assets1-proxy.respond.io/api/v1/image/assets%2F11f7a662b80a4675973850b067c01fa5%2F44daca77a4844f0c8fd29040ddeba057?width=22)](https://api.whatsapp.com/send?text=https://respond.io/help/workflows/workflow-triggers)[![Facebook](https://assets1-proxy.respond.io/api/v1/image/assets/11f7a662b80a4675973850b067c01fa5/fff57eeb01160bc604392f519b4f3461ca16f0fa1b6a587b20b142cdf1ad0ba7?placeholderIfAbsent=true&width=22)](https://www.facebook.com/sharer/sharer.php?u=https://respond.io/help/workflows/workflow-triggers)[![Linkedin](https://assets1-proxy.respond.io/api/v1/image/assets/11f7a662b80a4675973850b067c01fa5/7aaf8d87b5410844d83e06a4ed663e4f551b8c5ef51dbb20a8ff064a1eed9a0f?placeholderIfAbsent=true&width=22)](https://www.linkedin.com/sharing/share-offsite/?url=https://respond.io/help/workflows/workflow-triggers)[![Twitter](https://assets1-proxy.respond.io/api/v1/image/assets%2F11f7a662b80a4675973850b067c01fa5%2F4e03e02422a94e8eab9b8b41457c2371?width=22)](http://twitter.com/share?url=https://respond.io/help/workflows/workflow-triggers)

## 

Related articles 👩‍💻

* [Step: Update LifecycleLearn about best practices, use cases and how it works when implementing the Update Lifecycle Step. ](/help/workflows/step-update-lifecycle)
* [Step: Send Conversions API EventLearn about the configuration, how it works, best practices and more when implementing the Send Conversions API Event step. ](/help/workflows/step-send-conversions-api-event)
* [How to Avoid Workflow LoopsLearn how to prevent workflow loops that cause unnecessary repetitions, system overload, and delays. ](/help/workflows/how-to-avoid-workflow-loops)
* [Step: Send TikTok Lower Funnel EventLearn about the best practices, use cases and how it works when implementing the Send TikTok Lower Funnel Event Step. ](/help/workflows/step-send-tiktok-lower-funnel-event)
* [Step: Add Google Sheets RowLearn about the configuration, best practices and use cases for implementing the Add Google Sheets Row Step. ](/help/workflows/step-add-google-sheets-row)

Can't find what you're looking for? 🔎

[Contact Support](/contact-us)

2025-12-05T03:58:36.250Z

help

```json
[{"@context":"https://schema.org","@type":"TechArticle","articleBody":"Learn all about Triggers and how they can be used to make a Workflow run.","author":{"@type":"Person","image":"https://assets2-proxy.respond.io/ph8r57dk1q9w/4GvzCieeTBRY4TRJUbIr4y/b92428e6b049d23f546269180534f7ea/Ryan_Tan_Avatar.svg","name":"Joshua Lim","url":"https://respond.io/author"},"dateCreated":"2025-01-10T08:22:41.000Z","dateModified":"2025-11-12T02:54:49.636Z","datePublished":"2025-01-10T08:22:41.000Z","headline":"Workflow Triggers","image":"https://assets2-proxy.respond.io/ph8r57dk1q9w/58N4S8yAxF3qUFSRdYpIcu/35628082a6f2b3335c271ffca5f22061/ScreenRecording2025-04-16at3.02.47PM-ezgif.com-crop.gif","mainEntityOfPage":"https://respond.io/help/workflows","publisher":{"@type":"Organization","logo":"https://respond.io/favicon/favicon.svg","name":"respondio"},"thumbnailUrl":"https://assets2-proxy.respond.io/ph8r57dk1q9w/58N4S8yAxF3qUFSRdYpIcu/35628082a6f2b3335c271ffca5f22061/ScreenRecording2025-04-16at3.02.47PM-ezgif.com-crop.gif","url":"https://respond.io/help/workflows/workflow-triggers"},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Help","item":"https://respond.io/help","position":1},{"@type":"ListItem","name":"Product","item":"https://respond.io/help/product","position":2},{"@type":"ListItem","name":"Workflows","item":"https://respond.io/help/workflows","position":3},{"@type":"ListItem","name":"Workflow Triggers","item":"https://respond.io/help/workflows/workflow-triggers","position":4}]}]
```
