Choosing what triggers a workflow
Workflow triggers decide when the workflow starts. Triggers can be events in tawk.to, based on a weekly schedule, a request from another system or your AI agent. Each workflow needs at least one trigger to run, but it can have multiple triggers.
This guide is about workflow triggers. Not to be confused with chat Triggers, which send automatic messages to website visitors. For that, see Creating and managing triggers.
To learn how to build a whole workflow from start to finish, see Creating your first workflow, step by step.
This guide is about workflow triggers. Not to be confused with chat Triggers, which send automatic messages to website visitors. For that, see Creating and managing triggers.
To learn how to build a whole workflow from start to finish, see Creating your first workflow, step by step.
The four types of trigger
| Trigger | The workflow starts when… | Good for |
|---|---|---|
| tawk.to event | Something happens in tawk.to. For example, a chat ends, a ticket is created or a card moves to a new stage. | Fast follow-up on customer activity |
| Schedule | A time that you set comes. For example, every hour, day, week or month. | Daily checks, weekly reminders and regular reports |
| Webhook | Another app or your website sends a request to the workflow's URL. | Forms, online stores and your own systems |
| AI agent | Your AI agent decides to use the workflow during a conversation. | Tasks for your AI agent, such as a call-back or a ticket |
To add a trigger, click Choose a trigger. If the workflow already has a trigger, click Add trigger. Events are grouped by product area at the top. Schedule, Webhook and AI agent are under Other.

Events in tawk.to
Click a product area to see its events. To go back, click Back to product areas.
| Product area | Events |
|---|---|
| Conversations | Ticket created, Ticket replied, Ticket status changed, Ticket tagged, Ticket assigned, Ticket unassigned, Ticket priority changed, Chat tagged, Chat transcript created, Chat ended |
| Omnichannel Inbox | Conversation created, Inbound message received, Outbound message sent, Conversation status changed, Conversation visibility changed, Conversation assignment changed, Conversation tags changed, Conversation priority changed, Conversation marked as spam, Conversation removed from spam, Message edited, Person linked to conversation, Conversation contacts changed, Organization link changed, Conversation deleted, Conversation restored, Internal comment added, Reply availability changed |
| Pipeline | Card created, Card updated, Card moved to stage, Card archived, Card deleted, Card link added, Card link removed, Card assignees changed, Pipeline deleted, Stage deleted |
| Activities | Activity created, Activity updated, Activity completed, Activity reopened, Activity deleted, Activity link added, Activity link removed, Activity type deleted |
| Contacts | Person created, Person updated, Person deleted, Organization created, Organization updated, Organization deleted |
| Feedback | Feedback issue created, Feedback issue status changed, Feedback issue vote changed, Feedback issue deleted, Feedback issues merged, Feedback issue subscription changed, Feedback issue approval changed, Feedback issue association added, Feedback issue association removed, Feedback issue added to roadmap, Feedback issue removed from roadmap, Feedback roadmap status changed, Feedback roadmap created, Feedback roadmap deleted, Feedback comment created, Feedback comment deleted, Feedback comment official status changed, Feedback changelog created, Feedback changelog published, Feedback changelog deleted |
New events can be added over time. The trigger picker always shows the current list.

Before you pick an event:
- Chat transcript created starts after the chat session ends, a few minutes after the visitor leaves your website. Don't use it for tasks that must happen during the chat.
- Omnichannel Inbox events are for your connected channels. For website chats, use the Conversations events.
- Chat tagged starts each time an agent adds a tag to the chat, including a second or third tag. A tag on the contact does not start it.
- Chat tagged can't be limited to one tag in its filter, which offers only Conversation ID, Event and Occurred at. To act on one tag, such as lead, add a Condition step that checks Chat · Tags. See Building workflow steps: actions, conditions, waits and AI steps.
Run only when conditions match
Most of the time, you don't want a workflow to run for every event. A filter makes it run only for the events that you care about.
- In the outline, select the trigger.
- Turn on Only run when conditions match.
- Select All conditions match or Any condition matches.
- For each condition, select a field and an operator, and type a value if necessary.
- To add a condition, click Add condition.

These operators are available: equals, does not equal, contains, does not contain, greater than, less than, at least, at most, is true, is false, exists and does not exist. You see only the operators that fit the field.
Examples:
Examples:
- Conversation priority changed, with the new priority equals highest: only urgent conversations.
- Card moved to stage, with Pipeline ID equal to your sales pipeline and New stage ID equal to your "Lost" stage: only lost deals.
Update events: select the fields
For "updated" events, such as Card updated or Person updated, select the fields that start the workflow. The workflow runs when any of the selected fields changes.
For example, on Card updated, select Value and Expected close date. The workflow then runs only when the value or the close date of a deal changes.
For example, on Card updated, select Value and Expected close date. The workflow then runs only when the value or the close date of a deal changes.
Limit
Events can start a workflow at most 60 times a minute. Events over that limit are skipped, and the Runs tab shows them as skipped runs.
Schedule
A schedule runs the workflow at regular times, for example a summary every Monday morning.
- Click Choose a trigger (or Add trigger).
- Click Schedule.
- Select a Frequency:
- Every hour: select At minute.
- Every day: select At time.
- Every week: select On day and At time.
- Every month: select On day of month and At time.
- Custom (cron): type a standard cron expression with 5 fields.
- Select your Timezone.

The trigger card shows a short summary, for example Every Monday at 09:00, with the cron expression below it (0 9 * * 1). After you save, Next runs lists the next run times, so you can check your schedule. The Workflows page also shows the Next run time for each workflow with a schedule.
Notes:
Notes:
- A schedule can't run more often than every 5 minutes.
- For a monthly schedule, On day of month offers days 1 to 28 only, so the workflow runs every month.
Webhook
A webhook trigger gives the workflow its own URL. When another system sends a request to this URL, the workflow runs. Use it to start workflows from your website forms, online store, booking tool or your own code.
Before you start: each request must be signed with a secret (see Send a request below). Most form builders and website tools can't sign requests on their own, so you usually need a developer to set this up.
1. Click Choose a trigger, then click Webhook.
2. Add your steps.
3. Click Create. tawk.to makes the hook URL and the signing secret when you save.
Before you start: each request must be signed with a secret (see Send a request below). Most form builders and website tools can't sign requests on their own, so you usually need a developer to set this up.
1. Click Choose a trigger, then click Webhook.
2. Add your steps.
3. Click Create. tawk.to makes the hook URL and the signing secret when you save.

4. Select the webhook trigger again and click Rotate secret. This is how you see the Hook URL and the signing secret for the first time. They show one time only, so copy both to a safe place now.
5. In the Settings tab, turn on Enabled and click Save. The hook URL accepts requests only while the workflow is enabled. A disabled workflow answers with HTTP 404.
Rotate secret always makes a new signing secret. The hook URL stays the same. If you lose the secret, click Rotate secret again and update each system that calls the hook URL.
Verify token (optional): leave this empty unless the service that calls your workflow asks for one. Some services check a webhook URL before they send any events. They send a GET request with hub.verify_token and hub.challenge in the URL. If the token matches your Verify token, the workflow answers with the challenge, and the service knows that the URL is yours. The verify token does not replace the signature: each POST request must still be signed.
5. In the Settings tab, turn on Enabled and click Save. The hook URL accepts requests only while the workflow is enabled. A disabled workflow answers with HTTP 404.
Rotate secret always makes a new signing secret. The hook URL stays the same. If you lose the secret, click Rotate secret again and update each system that calls the hook URL.
Verify token (optional): leave this empty unless the service that calls your workflow asks for one. Some services check a webhook URL before they send any events. They send a GET request with hub.verify_token and hub.challenge in the URL. If the token matches your Verify token, the workflow answers with the challenge, and the service knows that the URL is yours. The verify token does not replace the signature: each POST request must still be signed.
Send a request
Send a POST request with a JSON body to the hook URL. Sign the request with this header:
Example for the command line:
If the request is correct, you get a response like this:
Use the data that you send
Each field in the JSON body becomes runtime data under trigger. In the example above, your steps can use {{trigger.orderId}} and {{trigger.email}}. See Using runtime data in workflows.
Notes:
Notes:
- After you rotate the secret, the previous secret can keep working for a short time, but older secrets stop working. Update each system that calls the hook URL with the new secret as soon as you can.
- Keep the hook URL and the signing secret safe, like a password. Anyone who has both can start your workflow.
- A copy of the workflow gets its own hook URL and signing secret when you save it, and it does not keep the Verify token. Before the copy can take requests, click Rotate secret on it to see its URL and secret, then set them up in the system that calls it.
AI agent
The AI agent trigger turns the workflow into a tool that your AI agent can use in conversations, for example to book a call-back, hand the conversation to a person or look up an order. This trigger has its own settings: mode, tool description and inputs. See Letting your AI agent run workflows.

Use more than one trigger
A workflow can have many triggers. They show under When any of, and the workflow runs when any of them fires. For example, an "Urgent issues" workflow can run on Ticket priority changed and on Conversation priority changed.
- To add a trigger, click Add trigger.
- To pause one trigger, use the switch on its card. The workflow stays on, and its other triggers still start it. To turn the whole workflow on or off, use Enabled in the Settings tab.
- To remove a trigger, click the trash icon on its card.
Related guides
Have a question we haven't covered or need support?
- Chat with us (live chat is available 24/7)
- Visit our Feedback page
- Schedule a call with us
