When to use one
- Only for some people. A Refunds actor only for managers, an onboarding actor only for the Enterprise plan. The condition reads an Initial Parameter such as
user_roleorplan. - Only once something is known. An Order tracking actor only after the visitor has given an order number. The condition reads a slot that an Ask Question step fills (Slots).
- Only once the visitor has said something. An Account help actor only after the visitor says they’re already a customer. No parameter or slot holds that, so an AI condition checks the conversation.
Add a condition
1
Open the route
Click the route’s label on the canvas, or When? on a route that has no label yet. The Route to panel opens (titled with the actor it leads to), with the activation prompt under When should this route be taken?
2
Click Add a condition
The Only when… card opens on Rules, with one empty rule. To describe the condition in words instead, click AI next to Check with (see AI conditions). Conditions work on routes into an actor; other routes don’t offer them.
3
Pick what to check
In Choose a parameter or slot, pick from Parameters (the agent’s Initial Parameters) or Slots (values that Ask Question steps collect).
4
Pick a comparison and a value
Choose a comparison from the table below, then enter the value it needs.
5
Add more rules (optional)
Click Add rule for up to 10 rules. With two or more, choose All of these or Any of these next to Match.
6
Let it save
The condition saves on its own once every rule is complete. Until then, the panel says what’s missing, for example Rule 1: Enter a value, and Not saved yet: the route keeps its saved condition until this one is complete. If you close the panel then, it asks whether to discard the unfinished condition. Clicking the canvas or another route keeps it for the next time you open this route.A condition you didn’t change keeps working as it is. If it has a problem, the note ends with “Saving keeps this condition as it is.” On a route that doesn’t lead to an actor, the panel says “Remove the condition: this route does not lead to an actor”.
An agent that went live before versions existed keeps a Save button in the route panel, and the reason shows under it. See Agents that went live before versions.
The value box follows the parameter: a parameter with options shows them to pick from, a Yes/No parameter shows Yes and No, and a number parameter takes a number. A Yes/No parameter offers only is, is not, is set and is not set; a number parameter offers everything except contains.
If the list of parameters and slots is empty, the agent has neither yet. Add Initial Parameters in Agent settings, or an Ask Question step that saves a slot.
To take a condition off, open the route and click Remove condition. The change saves on its own.
On the canvas
A route with a condition is drawn as a dashed line, and its label shows an icon: a filter for rules, a sparkle for an AI condition. Hover the label to read the condition:- Only when user_role is manager
- Only when plan is one of pro, enterprise and order_id is set
- Only when any of: user_role is manager; plan is enterprise
- Only when (AI): The visitor says they’re already a customer, for example by…
@param.plan reads as @plan.
A red icon means the condition can’t be read: “This condition can’t be read, so the router never takes this route.” Open the route and fix or remove it. If the editor can’t show the condition at all, the panel says “This route has a condition the editor can’t show. Saving keeps it unchanged. Remove condition deletes it, so the router can always choose this route.”
Example: refunds only for managers
A support agent runs inside your company’s back office. Anyone can ask about orders; only managers may issue refunds.1
Add the parameter
In Agent settings → Initial Parameters, add
user_role: a string with the options staff and manager.2
Add the condition
Open the Start → Refunds route, click Add a condition, and set the rule to
user_role · is · manager. It saves on its own.3
Pass the role safely
Your back office creates a widget link for each signed-in user, with their role. On the widget channel, set Who can pass parameters to Only widget links. See Conditions are not access control.
Example: order tracking once the order number is known
Triage collects the order number with an Ask Question step whose Slot name isorder_id. The route from Start to Order tracking has the rule order_id · is set.
Until the visitor gives the number, the router can’t send them to Order tracking, so Triage keeps the conversation and asks for it. Conditions are checked on every message, so the route opens as soon as the slot is filled.
How values are compared
- Case and surrounding spaces don’t matter.
ManagerandMANAGERmatchmanager, and spaces before or after a value are ignored. - Numbers compare as numbers.
10matches10.0. is greater than and is less than are met only when the value is a number. - A missing value matches only “is not set”. When a parameter wasn’t passed or a slot isn’t filled yet, every other comparison is not met, including is not and is not one of. To include visitors without a value, add an is not set rule and choose Any of these.
On a Inbound agent, only the website widget passes Initial Parameters. On other channels they’re empty, so a route that needs a parameter value stays closed there.
AI conditions
An AI condition says in your own words when the route is open, for example The visitor says they’re already a customer. On each message, an AI reads it against the conversation and answers yes or no. While the answer is no, the router can’t choose the actor. An activation prompt can describe the same thing, but it only guides the router. An AI condition is a separate yes-or-no check that keeps the route closed until it’s met.1
Switch to AI
Open the route and click Add a condition. Next to Check with, click AI (the other choice is Rules).
2
Describe when the route is open
Write a sentence or two about the conversation or the visitor. Write it as the condition to meet, not as an instruction.
3
Mention values (optional)
To use a value, type
@ and pick from Flow Parameters or Slot values. It’s inserted as @param.<name> or @slot.<name>, and the AI sees the value in its place. For example: The visitor says order @slot.order_id arrived damaged or incomplete.4
Let it save
It saves on its own once there’s something to check. While the box is empty, the panel says Describe the condition, or remove it, and nothing is saved.
If you switch between Rules and AI, the panel keeps what you wrote in the other one until you close it, but saves only the one on screen: “Your rules are kept while this panel is open, but only the AI condition is saved.”
- An AI checks this each time the visitor writes.
- If it can’t decide, or something goes wrong, the route stays closed.
- For anything about roles or permissions, use Rules. They’re exact.
- Each check adds a little time to every message.
How it’s checked
- Each time the visitor writes. The AI checks only the routes the router is about to choose between on that message. A route the router doesn’t need on that message isn’t checked, and stays closed.
- One answer per message. Once the AI answers yes or no, that answer holds for the rest of the visitor’s message. If a step fills a slot the condition mentions, the route is checked again before the router next uses it.
- With the recent conversation. The AI reads your condition, with each mention replaced by its value, and the last few messages. A value that isn’t set yet reads as not captured.
- Closed unless it’s a clear yes. If the AI can’t decide, or anything fails or takes too long, the route stays closed. A check that fails gives no answer, so it isn’t kept: the route may be checked again later on the same message.
AI or rules?
Use Rules whenever a parameter or a slot holds the answer. They’re exact, add no time, and work in live voice. Use AI when the answer is in what the visitor says and no slot captures it, such as whether they’re already a customer or whether a delivery arrived damaged.Example: account help only for existing customers
A shop’s website agent has a Triage actor for everyone and an Account help actor for logins, orders and subscriptions. Account help should come in only once the visitor says they’re already a customer.1
Add the condition
Open the Start → Account help route, click Add a condition, and click AI next to Check with.
2
Describe it
Write The visitor says they’re already a customer, for example by mentioning their account or a past order. It saves on its own.
3
Try it
Open Test flow and ask “Do you ship to Canada?”. Triage answers, and the summary under the reply counts 1 route hidden. Open it to see Account help as hidden, with the AI’s reason. Then write “I can’t log in to my account”. The condition is met, so the router can choose Account help.
Limits
- 2000 characters per AI condition. The counter under the box turns red past that, with Shorten it to 2000 characters to save.
- Up to 10 AI checks per message. If the router needs more than 10 AI checks on one message, the routes left over stay closed for that message.
- A little time per message. The checks run side by side, but the reply waits for them. If they take too long in total, the routes still waiting stay closed for that message.
- The last few messages. The AI doesn’t read the whole conversation. For something the visitor said much earlier, have an Ask Question step save it to a slot, then mention the slot or use a rule.
Live voice: AI conditions keep the route closed for now. Live voice doesn’t check AI conditions yet, so in live voice conversations a route with an AI condition stays closed. Use Rules there. On an agent that uses live voice, the panel says so: “This agent uses live voice, which doesn’t check AI conditions yet. In live voice conversations this route stays closed. Use Rules if it has to work there.”
What still reaches a hidden actor
A condition limits only what the router may choose. These still reach the actor:- A Transfer step that hands the conversation to it. The panel reminds you: “A transfer step can still go there.”
- A conversation that starts directly on that actor, instead of going through the router first.
- The actor already in progress. It finishes its job even if a slot its condition reads changes. Initial Parameters never change during a conversation.
- An actor the conversation stepped away from in the middle of its job. The router can bring the conversation back to it.
- Another open route into the same actor. Each route has its own condition. To hide an actor everywhere, add the same condition to every route into it.
When no actor is available
If every route from Start has a condition and a visitor matches none of them, the router has nobody to choose. The visitor gets this reply:Sorry — I can’t help with that here.The panel warns you when you add the last one: “Every route from Start now has a condition. A visitor who matches none of them gets a short “can’t help with that here” reply. Leave one actor without a condition.” Keep a general actor, such as Triage, open to everyone.
Conditions are not access control
The panel shows the same warning when a rule reads a parameter, or an AI condition mentions one, and the agent’s widget accepts values from the page. Open channels takes you to the setting.- Values from the Start Conversation form, a workflow, or a widget link can’t be changed by the visitor.
- Slots hold what the visitor told the agent, so they don’t prove anything either.
- An AI condition is never access control, whatever it mentions: the visitor can talk it into a yes (AI conditions).
- A condition decides which actors the agent offers. The systems the actor works with should still check permissions for what it does there.
Test a condition
When the agent has Initial Parameters, the test drawer (Test flow in the toolbar) opens on an Initial parameters form: “The values this test starts with, as a widget or a link would pass them. Leave a field empty to test without it.”- Fill in the values, then click Start test. Fields you leave empty aren’t sent, so you can try is not set rules. Required parameters aren’t enforced in a test.
- Send messages as usual. A bar above the chat shows the values, for example Parameters: user_role = staff.
- To try other values, click Change, edit them, and click Restart test. Restarting ends the test conversation and starts a new one, which also picks up conditions you’ve changed since.
slot values unavailable, and its route stays closed. When every actor is hidden, a no eligible actor line says the visitor got the fallback reply. Only you see these lines; visitors never do.
For an AI condition, the reason is what the AI decided, or why there’s no answer:
An AI-checked route the router didn’t need on that message isn’t listed.
Deploy checks
When you click Deploy, conditions are checked along with the channels.
More sentences you can see for a condition that can’t be read:
- Rule 2 of the condition on the route to Refunds has no value to compare with, so this route is never taken. Open the route and enter a value, or remove the condition.
- The AI condition on the route to Account help is longer than 2000 characters, so this route is never taken. Open the route, remove the condition and add it again.
Next
Routes
Draw routes and write activation prompts.
Widget links
Pass values visitors can’t change.
Pass details to the widget
Initial Parameters from the embed code or the page address.
Test an agent
Try routes and read the routing trace before you deploy.
