Overview
If/Else nodes evaluate conditions against collected data and route to different paths:If/Else nodes are colored yellow on the canvas.
Configuration
Conditions
Each condition evaluates a variable against a value:| Property | Description |
|---|---|
| Variable | The variable to check |
| Operator | Comparison operator |
| Value | Value to compare against |
| Target | Node to route to if true |
Operators
| Operator | Description | Example |
|---|---|---|
== | Equals | status == "active" |
!= | Not equals | plan != "free" |
< | Less than | age < 18 |
> | Greater than | total > 100 |
<= | Less than or equal | quantity <= 10 |
>= | Greater than or equal | score >= 80 |
exists | Variable is set | order_number exists |
is_empty | Variable not set | email is_empty |
contains | Contains substring | issue contains "refund" |
not_contains | Doesn’t contain | notes not_contains "urgent" |
in | Value in list | department in ["sales", "support"] |
not_in | Value not in list | status not_in ["cancelled", "expired"] |
regex | Matches pattern | order_number regex "^[A-Z]{2}[0-9]{6}$" |
Default Target
The fallback route when no conditions match. Always set a default to handle unexpected cases.Evaluation Order
Conditions are evaluated in order from top to bottom. The first matching condition wins.issue_type is “billing”, the caller goes to Billing Team even if priority is also “high”.
Example Configurations
Department Routing
Department Routing
Priority-Based Routing
Priority-Based Routing
Order Status Check
Order Status Check
Multi-Condition Routing
Multi-Condition Routing
Common Patterns
Validate Required Data
Check if required information was collected:Business Hours Routing
Route based on time-related variables:Sentiment-Based Routing
Route frustrated customers differently:Flow Examples
Simple Branch
Nested Conditions
Best Practices
Always Set Default
Every If/Else needs a default path. Unhandled cases break flows.
Order Matters
Put most specific conditions first. More general conditions go later.
Test All Paths
Verify each condition branch works as expected with test data.
Keep It Simple
Avoid deeply nested If/Else chains. Consider restructuring complex logic.
Related
Data Extraction
Collect the variables to evaluate
Transitions
Alternative routing with conversation transitions
Conversation
Handle each branch with conversation nodes