Skip to main content
Branching is what makes Conversational Flow powerful. Instead of a linear script, your agent can take different paths based on what callers say.
[IMAGE: Workflow showing one node splitting into three different paths]

How Branching Works

[IMAGE: Diagram showing caller response → condition evaluation → path selection]
1

Agent Asks

The current node poses a question or presents options.
2

Caller Responds

The caller says something.
3

Conditions Evaluated

The AI checks each condition against the response.
4

Path Selected

The matching condition determines the next node.

Condition Types

[IMAGE: Condition panel with text match fields]
Match specific words or phrases in the caller’s response.
ConditionMatches
”yes""yes”, “yeah”, “yep"
"billing""I have a billing question"
"cancel""I want to cancel”
The AI is smart about variations — “yes”, “yeah”, “sure”, “absolutely” can all match a “yes” condition.

Creating Branches

1

Click the Source Node

Open the node you want to branch from.
[IMAGE: Node clicked with configuration panel opening]
2

Add Branch Conditions

Find the Branches section and click Add Branch.
[IMAGE: Branch section with Add Branch button]
3

Configure Each Condition

Set the condition type and value.
[IMAGE: Form showing condition type dropdown and value input]
FieldWhat to Enter
LabelName shown on canvas
TypeText match, intent, variable, default
ValueWhat to match
4

Connect to Target Nodes

Draw connections from each branch to its destination.
[IMAGE: Three branch lines going to three different nodes]

Real-World Examples

Support Routing

[IMAGE: “How can I help?” node with branches to Billing, Technical, General, Fallback]
[Ask Issue Type]
"I'm here to help! Are you calling about billing, 
technical support, or something else?"

Branches:
├── "billing" → [Billing Flow]
├── "technical" / "tech" / "support" → [Technical Flow]
├── "sales" / "buy" / "purchase" → [Sales Flow]
└── default → [Clarify and Re-ask]

Lead Qualification

[IMAGE: Budget question with branches based on value ranges]
[Ask Budget]
"What's your approximate budget for this project?"

→ Store response as {{budget}}

Branches:
├── {{budget}} >= 50000 → [Enterprise Path]
├── {{budget}} >= 10000 → [Professional Path]
├── {{budget}} >= 1000 → [Starter Path]
└── {{budget}} < 1000 → [Self-Serve Resources]

Confirmation Flow

[IMAGE: “Is that correct?” node with Yes/No/Unclear branches]
[Confirm Details]
"Just to confirm — you'd like to book a consultation 
for Tuesday at 3pm. Is that correct?"

Branches:
├── yes / correct / "that's right" → [Complete Booking]
├── no / "not quite" / wrong → [Correct Details]
└── default → [Re-confirm]

Best Practices

No matter how many conditions you define, something unexpected will happen.
[IMAGE: Branches with default path highlighted]
Your fallback should:
  • Acknowledge the response
  • Re-ask the question differently
  • Offer options to clarify
"I want to make sure I understand. Are you calling about 
billing, technical issues, or something else entirely?"
Avoid overlapping conditions that could both match.
Overlapping (Bad)Exclusive (Good)
“support” AND “technical support""billing” OR “technical” OR “other”
>10 AND >5010-50 AND >50
Order matters — conditions are evaluated top to bottom.
It’s easy to forget a branch while testing. Be systematic:
  1. List all possible paths
  2. Test each one deliberately
  3. Try edge cases (silence, gibberish, topic changes)
  4. Review in Convo Logs
Too many nested branches become impossible to manage.
[IMAGE: Side-by-side of deeply nested vs flatter flow]
If your flow is getting too deep:
  • Can you combine some branches?
  • Should some paths be separate flows?
  • Is Single Prompt better for this use case?
Labels appear on the canvas — make them meaningful.
Bad LabelsGood Labels
”Option 1""Wants Billing Help"
"Path A""Budget > $10k"
"Yes""Confirmed Appointment”

Complex Branching Patterns

Multiple Conditions (AND)

[IMAGE: Node checking two conditions before branching]
Sometimes you need multiple things to be true:
If {{api.tier}} == "premium" AND {{budget}} > 10000
    → VIP Sales Path
Combine in a single variable-based condition:
{{api.tier}} == "premium" && {{budget}} > 10000

Loop Back

[IMAGE: Flow with arrow going back to earlier node]
For retry scenarios:
[Ask Budget]

[Validate Budget]
    ├── Valid → Continue
    └── Invalid → Loop back to [Ask Budget]
Avoid infinite loops. Add a counter variable and exit after N attempts.

Parallel Paths That Merge

[IMAGE: Two branches that eventually connect to the same node]
Different paths can lead to the same destination:
[Qualify]
├── High Budget → [Fast Track] → [Schedule Demo]
└── Standard Budget → [Standard Process] → [Schedule Demo]

Debugging Branches

When branches don’t work as expected:
[IMAGE: Convo log with branch decision highlighted]
1

Check Convo Logs

See exactly which conditions were evaluated and which matched.
2

Verify Condition Syntax

Typos in variable names or operators will fail silently.
3

Test the Fallback

If fallback triggers too often, your conditions may be too specific.
4

Review Order

Conditions are checked top to bottom — earlier matches win.
→ Learn more: Conversation Logs

Next Steps