Workflow Triggers
A workflow trigger is the event that starts a workflow for a contact. Resool offers triggers for conversation events (a conversation opens, a message arrives, a conversation closes), contact changes (tags, lifecycle stages, contact fields), people starting a workflow themselves (shortcuts, manual runs and webhooks), ads, WhatsApp calls, online store events and form responses. Each workflow has exactly one trigger, and you can narrow most triggers down to specific channels, keywords, tags, stages, fields, stores or forms.
How to choose a trigger
- Open a workflow from Workflows and click the Trigger block at the top of the canvas.
- In the right panel, open Trigger and pick one. For store events, pick E-commerce, then the Event.
- Fill in the options that appear under the trigger (channels, keywords, tag and so on). A short hint under the picker explains when the trigger fires.
- Click Save or Publish.
Workflows › open a workflow › click the Trigger block
The Trigger panel on the right with the trigger list open, showing Conversation Opened, Incoming Message, Conversation Closed, Contact Tag Updated, Lifecycle Updated, Shortcut, Contact Field Updated, Incoming Webhook, Click-to-Chat Ads, TikTok Messaging Ads, Manual Trigger, Call Ended, Typeform Response Submitted, SurveyMonkey Response Submitted and E-commerce.
File: screenshots/workflow-triggers-panel.png
If a trigger needs a channel or app you haven't connected, the panel shows a notice with a Connect in Settings button.
Conversation and message triggers
| Trigger | When it starts | Options |
|---|---|---|
| Conversation Opened | A new conversation opens on the chosen channels. | Channels (empty = any channel). |
| Incoming Message | A customer sends a message, or only a message that contains one of your keywords. | Channels, Keywords (up to 20; leave empty to start on every message). |
| Conversation Closed | A conversation is closed. | Channels. |
Keywords match anywhere in the message and ignore upper and lower case, so the keyword price also matches "What's the PRICE?".
Contact triggers
| Trigger | When it starts | Options |
|---|---|---|
| Contact Tag Updated | A tag is added to or removed from a contact. | Tag, and When the tag is: Added, Removed or Added or removed. |
| Lifecycle Updated | A contact moves to a lifecycle stage. | Lifecycle stage, or Any stage. |
| Contact Field Updated | One of the chosen contact fields changes. | Fields: Name, Email, Phone, Language, Country and your custom fields. None picked = any field. |
Triggers you start yourself
| Trigger | How it starts |
|---|---|
| Shortcut | Agents run it from the conversation menu in the inbox with Run a workflow. Only published shortcut workflows appear there. |
| Manual Trigger | Run it for one contact from the contact's page: open the … menu and choose Run workflow. |
| Incoming Webhook | Another system (your CRM, store, form tool…) calls the workflow's Webhook URL with a contact. |
How to use the Incoming Webhook trigger
- Choose Incoming Webhook and click Save. The Webhook URL appears only after the first save.
- Click Copy URL.
- In the other system, send a
POSTrequest to that URL with the contact'sphone,emailorcontactId. - Publish the workflow.
Workflows › open a saved workflow with the Incoming Webhook trigger › Trigger panel
The Webhook URL field with the Copy URL button and the explanation of what to send.
File: screenshots/workflow-triggers-webhook.png
The contact must already exist in Resool. The workflow runs on the contact's latest conversation.
Ad and call triggers
| Trigger | When it starts | Options |
|---|---|---|
| Click-to-Chat Ads | Someone starts a chat from a Click-to-WhatsApp, Click-to-Messenger or Click-to-Instagram ad. | Channels (your WhatsApp, Messenger and Instagram channels). |
| TikTok Messaging Ads | Someone starts a chat from a TikTok Messaging Ad. | Needs a connected TikTok channel. |
| Call Ended | A WhatsApp call ends. | Outcome (Any, Answered, Missed), Direction (Any, Incoming, Outgoing), Channels (WhatsApp numbers). |
Use Call Ended with Missed to send an automatic "Sorry we missed your call" message. See WhatsApp Calls.
E-commerce triggers
Pick E-commerce, then the Event and the Store (Any connected store, or one store). Connect your store first in Settings › Apps.
| Event | When it starts |
|---|---|
| Order Created | A new order is placed. |
| Order Updated | An order is edited (items, address, payment or fulfillment). |
| Order Status Changed | An order changes status. Optional Statuses filter: Pending, Confirmed, Processing, Paid, Shipped, Delivered, Completed, Cancelled, Refunded. None picked = any change. |
| Order Paid | An order is paid. |
| Order Fulfilled / Shipped | An order is fulfilled, shipped or delivered. |
| Order Cancelled | An order is cancelled. |
| Order Refunded | An order is refunded, fully or partly. |
| Abandoned Checkout | A customer leaves the checkout without ordering. |
| Customer Created | A new customer signs up in the store. |
| Customer Updated | A customer's details change in the store. |
The workflow runs for the contact with the customer's phone or email. If there is no such contact, Resool creates one. Supported stores include Shopify, WooCommerce, Salla, Foodics, EasyOrders, Wix, BigCommerce, Gumroad and Square. Not every store sends every event; for example, abandoned checkouts come only from stores that report them.
Workflows › open a workflow › Trigger panel with E-commerce selected
Trigger set to E-commerce, Event set to Order Status Changed, Store set to Any connected store, the Statuses chips with Shipped and Delivered selected, and the Variables list below.
File: screenshots/workflow-triggers-ecommerce.png
Form triggers
| Trigger | When it starts | Options |
|---|---|---|
| Typeform Response Submitted | Someone submits the chosen Typeform. | Form. Resool adds a webhook to the form so its responses reach the workflow. |
| SurveyMonkey Response Submitted | Someone completes the chosen SurveyMonkey survey. | Survey. |
The contact is found by the email or phone answered in the form, or created. Each answer becomes a variable you can use in later steps. See Typeform and SurveyMonkey.
Variables from the trigger
Every workflow can use {{contact.name}}, {{contact.email}} and {{contact.phone}} in its texts. Some triggers add more; the trigger panel lists them under Variables, and you can click one to copy it.
| Trigger | Extra variables |
|---|---|
| Order events | {{order.number}}, {{order.total}}, {{order.currency}}, {{order.status}}, {{order.items}}, {{order.url}}, plus {{order.payment_status}}, {{order.tracking_number}}, {{order.tracking_url}}, {{order.previous_status}} or {{order.refund_amount}} depending on the event, and {{customer.name}}, {{customer.phone}}, {{customer.email}} |
| Abandoned Checkout | {{order.total}}, {{order.currency}}, {{order.items}}, {{order.checkout_url}} and the customer variables |
| Customer Created / Customer Updated | {{customer.name}}, {{customer.phone}}, {{customer.email}} |
| Typeform / SurveyMonkey | The form title, response ID, submission time, email, phone and one variable per question |
Trigger once per contact
In Workflow settings, turn on Trigger once per contact so each contact goes through the workflow only once, even if the trigger fires again. Publishing a new version lets contacts go through the new version once.
FAQ and troubleshooting
My Incoming Message workflow starts on every message. How do I limit it?
Add one or more Keywords. The workflow then starts only on messages that contain one of them.
The Incoming Webhook call returns an error.
What you can do:
- Check that the workflow is published and that you're calling its exact Webhook URL.
- Send the contact's
phone,emailorcontactId, and make sure that contact already exists in Resool.
Why doesn't my Shortcut workflow appear in the inbox?
Only published workflows with the Shortcut trigger appear under Run a workflow in the conversation menu. Publish it first.
Can one workflow have two triggers?
No. Each workflow has one trigger. To react to two events, create two workflows (you can Duplicate one to save time).
Do store triggers need a WhatsApp conversation to exist?
No. They find or create the contact. Steps that write in a conversation are skipped if the contact has none yet, so start with a Send a WhatsApp template step to reach a new customer.