Overview
Router nodes perform pure conditional logic routing without having any conversation. They instantly evaluate conditions based on variables and data, then transition to the appropriate next node. Think of router nodes as the “if/else” or “switch/case” statements of your flow. Key characteristic: Router nodes execute instantly—no conversation, no waiting for user input, just logic evaluation and immediate transition.When to Use
Use router nodes to:- Route based on extracted data: Direct flow based on account status, tier, location
- Implement business logic: Different paths for different customer segments
- Create decision trees: Multi-branch routing based on multiple conditions
- Handle tool responses: Route based on API results
- A/B test flows: Split traffic between different conversation paths
- Time-based routing: Different flows for business hours vs after hours
- Priority routing: High-value leads to different paths
- Decision is based on variables/data, not conversation
- You need multiple conditional branches
- Logic is deterministic (not LLM-based)
- Instant routing without user interaction
- Need to ask questions to determine next step
- Decision requires conversation context
- Want natural language understanding
Core Configuration
Router nodes have minimal configuration—they’re pure routing logic.The power of router nodes is entirely in their transitions. All logic is defined through transition conditions.
Transition Types
Router nodes support structured equation and always transitions. Natural language transitions are not typically used (no conversation to evaluate).Structured Equation Transitions
Define logical conditions using variables and operators.Simple Condition
Multiple Conditions (AND Logic)
All conditions must be true.Multiple Conditions (OR Logic)
Any condition can be true.Always Transition
Fallback when no other conditions match.Operators
Use these operators in equation conditions:Comparison Examples
String comparison:Use Cases & Examples
Example 1: Account Status Routing
Scenario: Different flows for different account statuses.Example 2: Budget-Based Lead Qualification
Scenario: Route leads to different sales tiers based on budget.Example 3: Time-Based Routing
Scenario: Different flows for business hours vs after hours.Example 4: Geographic Routing
Scenario: Route to region-specific agents.Example 5: Customer Tier & Purchase History
Scenario: VIP treatment for premium customers with purchase history.Example 6: Multi-Factor Lead Scoring
Scenario: Complex lead scoring with multiple factors.Example 7: Inventory-Based Routing
Scenario: Different flows based on product availability.Example 8: Payment Status Routing
Scenario: Handle different payment outcomes.Advanced Patterns
Nested Routers
Chain multiple routers for complex decision trees.Router + Conversation Hybrid
Use routers to branch, then personalize with conversation.A/B Testing
Split traffic randomly or by criteria for testing.Priority Escalation
Route urgent cases immediately.Flow Examples
Example Flow 1: Customer Service Routing
Example Flow 2: Lead Qualification
Example Flow 3: Nested Decision Tree
Troubleshooting
Issue: Router always takes the same path
Possible causes:- Variable not being set correctly
- Variable value is different than expected
- Always transition is first (catches everything)
- Check variable extraction in previous nodes
- Debug variable values using test calls
- Verify transition order (always should be last)
- Add logging to see actual variable values
Issue: Flow gets stuck at router
Possible causes:- No transition matches and no always fallback
- Variable doesn’t exist
- Condition syntax error
- Always add an “always” transition
- Verify variables exist before router
- Check condition syntax
- Test with various input values
Issue: Wrong path being taken
Possible causes:- Variable type mismatch (string vs number)
- Unexpected variable value
- Condition logic error
- Check variable data types
- Use correct comparison operators
- Test conditions independently
- Review extracted variable values
Issue: Cannot reference variable in router
Possible causes:- Variable not extracted yet
- Variable name typo
- Wrong variable scope
- Ensure variable is extracted before router
- Check variable name spelling:
{{exact_name}} - Verify variable is in scope
- Review flow order
Performance Considerations
Router nodes are extremely fast:- No LLM calls: Pure logic evaluation
- No API requests: Local computation
- Instant transitions: Sub-millisecond routing
- Efficient: Minimal resource usage
- Use routers for high-volume routing
- Prefer routers over conversation nodes for data-based decisions
- Keep condition logic simple for fastest evaluation
- Order transitions with most likely first
Schema Reference
Next Steps
Transitions
Master all transition types and conditions
Variables
Learn about variable extraction and usage
Tool Node
Extract data to use in router conditions
Conversation Node
Collect data before routing
Best Practices
Build better flows