
Anatomy of a procedure
Every procedure has three parts:
Steps
Steps run in order, top to bottom. There are two kinds:- Instruction steps: a plain instruction the agent follows (“Ask the customer for their order number”).
- Branch steps: a decision point with one or more
if/else ifconditions and an optionalotherwise. The agent evaluates the conditions top-to-bottom, runs the first matching branch, then continues after the branch.
Limits: up to 15 instruction steps per procedure, up to 5 branches per
decision point (
if / else if / else), and a branch can’t be nested
inside another branch.Referencing actions with @
Inside a step, type @ to reference an action
the agent should run at that point (for example @lookup_order). When the agent
reaches that step, it invokes the tool.

If a step references an action that doesn’t exist or is disabled, the editor flags
it and won’t let you enable the procedure until you fix or remove the reference.
Using variables with {{ }}
You can personalize your steps and branch conditions with {{token}} variables
that are resolved at runtime. Type {{ in a step or condition to open the picker,
which groups the available variables into:
A variable resolves only when its value is available for the conversation. For
example,
{{user.email}} is empty unless the embedding site passes it, and
{{contact.*}} requires a matched contact. Write steps so the agent can still
proceed (or asks for the value) when a variable is missing.
Start from a template
Don’t want to build from scratch? Open the Templates tab to browse ready-made procedures for common flows like order returns, subscription cancellations, and billing disputes, all grouped by category. Pick one to create an editable copy, then tailor its trigger and steps to your business.
Creating a procedure
1
Open the Procedures tab
Go to your agent and open Procedures, then click Add procedure (or start
from a template).
2
Name it and define the trigger
Give it a clear name, then use the When to use field to describe the
trigger: the situation that should route the conversation to this procedure.
3
Add steps
Add instruction steps, reference actions with
@, add variables with {{ }},
and add conditional branches where the flow forks.4
Enable it
Save and set the procedure to Active. Only active procedures are considered
at runtime.
Analytics
Open a procedure and switch to the Analytics tab to see how it’s performing over a date range you choose:
A trend chart below the counters breaks the same numbers down by day, so you can
spot patterns (for example, a spike in refund requests) at a glance.

Next steps
How procedures run
Understand triggering, one-procedure-per-turn, and how procedures interact with actions.
