Triggers
Configure what starts your flow
Every flow begins with a trigger — an event that starts the flow execution. Triggers are configured directly on the trigger node in the flow canvas.

Trigger Types
| Trigger | Description |
|---|---|
| Message Received | Fires on an incoming message, with rule-based matching |
| First Visit | Fires when a contact messages your bot for the first time |
| Catch All | Fires for any message that doesn't match another flow's trigger |
Trigger Configuration
Message Received
The Message Received trigger matches incoming messages using a rule with an operator and a value.
Operators:
| Operator | Description |
|---|---|
| Equals | Exact match |
| Not equals | Does not match |
| Contains | Message includes the text |
| Not contains | Message does not include the text |
| Starts with | Message begins with the text |
| Ends with | Message ends with the text |
| Matches regex | Regular expression match |
| Is empty | Message has no text |
| Is not empty | Message has any text |
Example: Trigger when message contains /support
First Visit
No configuration needed — fires automatically when a contact sends their first-ever message to your bot.
Catch All
No configuration needed — acts as a fallback for any message that doesn't match a trigger in another published flow.
Multiple Triggers
A single flow can have multiple triggers. They are combined with a connector:
| Connector | Behavior |
|---|---|
| AND | All triggers must match |
| OR | At least one trigger must match |
For example, you can set up a flow that triggers when a message contains /support OR on First Visit.
Integration Scope
Trigger scope is set at the flow level in flow settings, not per trigger:
- Run on all integrations — The flow triggers on any connected channel (default)
- Specific integrations — Select individual Telegram bots, WhatsApp numbers, etc.
Only one flow can use the First Visit trigger per integration. If multiple flows have this trigger, only the most recently published one fires.