Conditional logic and branching
Last updated: 2026-08-19
Branching is what separates a call flow from a static IVR. The Condition component evaluates one or more rules and sends the call down the matching branch.
What you can test
| Source | Examples |
|---|---|
| Call data | Caller ID, DID/DDI dialled, trunk, call direction |
| Caller input | Digits captured by User Input or Menu |
| System data | Queue waiting count, agent status, extension presence |
| External data | Fields returned by HTTP Request or Database Access |
Operators
- Equals / not equals
- Greater than / less than (numeric values such as queue length)
- Starts with / contains (useful for country prefixes)
- Is empty / is not empty (checks a lookup actually returned data)
Combining rules
Rules inside one Condition are joined with AND or OR. For more than two levels of nesting, chain several Condition components instead — the canvas stays readable and validation errors point at a smaller area.
Worked example: VIP routing
- 1
Look up the caller
Use HTTP Request to query your CRM with the caller ID and store the response field
tier. - 2
Branch on the result
Add a Condition with the rule
tier equals gold. - 3
Route each branch
True → Transfer to the VIP queue. False → Transfer to the standard queue.