Events
| Event | Fires when |
|---|---|
message_received | A new inbound message arrives on any conversation |
conversation_opened | A conversation is created (first inbound message) |
conversation_reopened | A resolved conversation gets a new inbound message |
contact_created | A new contact is created (first time we see this person) |
Channel scoping
By default a trigger fires on all channels. Scope it to one or more:- Webchat
- Messenger
- Shopify
Timing
Triggers fire before the AI agent replies. So if your flow sends a message or does a handoff, it happens before the AI would have. If the flow just tags or sets a condition and falls through, the AI proceeds as usual. Want to trigger after the AI replies instead? Use a flow withmessage_received and no blocking action — it’ll run in parallel.
Multiple flows on the same trigger
You can have several flows onmessage_received. All matching flows run. If two flows both try to handoff, the first one wins — the second is skipped (you’ll see this in the flow log).
Order of execution across flows is stable but not configurable. If you need strict ordering, combine them into one flow with conditional branches.