What happens on one turn
Here is one turn of a conversation on WhatsApp, where you have a refund Procedure that references@Get_Orders and @Create_Return:
The customer sends a message
The AI agent filters the Procedures it can use
Get_Orders and Create_Return are on for WhatsApp.The AI agent picks at most one Procedure
The AI agent works through the steps in order
The AI agent pauses when it needs the customer
Only one Procedure runs per turn
Within a single turn, the AI agent runs at most one Procedure: the one whose trigger best matches what the customer is asking for right now. It never executes two Procedures in the same reply. This is a per-turn limit, not a lock. The active Procedure can change from one message to the next: if the customer is partway through Procedure A and then sends a message that matches Procedure B’s trigger, the AI agent can switch to Procedure B on that turn.Procedures are dropped when an Action isn’t available
A Procedure can reference Actions (with@action_name) in its steps. Before a
Procedure is even considered for a conversation, the AI agent checks that every
Action it references is available on the current channel.
If even one referenced Action is unavailable, the whole Procedure is skipped for
that conversation. An Action counts as unavailable when it is:
- Disabled or removed,
- Disabled on the current channel, or
- Not supported on the current channel/medium (for example, a Widget-based Action on a channel that can’t render Widgets).
Procedure-only Actions
By default, the AI agent can call any enabled Action on its own whenever the Action’s When to use matches. Sometimes you want the opposite: an Action the AI agent should never reach for by itself, and only ever run as a deliberate step inside a Procedure, for example a “process refund” Action you only want fired after the refund Procedure’s checks have passed. Turn on Only use in Procedures in the Action’s settings to enforce that. The Action stays enabled and fully functional, but:- The AI agent won’t select it on its own judgment, so its When to use field is hidden (it no longer needs one).
- It runs only when a Procedure step references it with
@action_name.
Waiting on the customer
If a step calls an Action that needs user input (an account picker, a form, a confirmation), the AI agent treats it as a pause, not a failure. It tells the customer it’s waiting, then stops. It resumes the same step once the customer responds. It won’t retry or jump to another Action.Troubleshooting
My Procedure never triggers
My Procedure never triggers
It works on the website but not on WhatsApp/another channel
It works on the website but not on WhatsApp/another channel
Two things should happen at once
Two things should happen at once
A Procedure-only Action never fires
A Procedure-only Action never fires
@action_name. Check that a Procedure references it, that the Procedure is
Active, and that every Action in that Procedure is available on the channel.The AI agent switched to a different flow partway through
The AI agent switched to a different flow partway through
The AI agent stopped and is waiting
The AI agent stopped and is waiting
I can't set my Procedure to Active
I can't set my Procedure to Active
Frequently asked questions
Can a customer leave a Procedure before it finishes?
Can a customer leave a Procedure before it finishes?
Can an Action used in a Procedure also run outside it?
Can an Action used in a Procedure also run outside it?
Do Procedure-only Actions need a When to use?
Do Procedure-only Actions need a When to use?