Overview
Call routing determines where conversations flow based on context, user input, and business logic. Effective routing ensures callers reach the right destination quickly, improving satisfaction and reducing handling time.Routing Methods in Hamsa:
- Router Nodes - Conditional logic-based routing
- Transition Conditions - Flow between nodes based on rules
- Natural Language - AI-powered intent routing
- DTMF - Keypad-based menu navigation
- Time-Based - Route by time, day, or date
- Data-Driven - Route based on caller data or API responses
Routing Fundamentals
Router Nodes
Router nodes evaluate conditions and direct calls to appropriate destinations. How Router Nodes Work:- Evaluate conditions in order (top to bottom)
- First matching condition wins
- Route call to connected node
- If no conditions match, use fallback (Always)
Transition Types
Different ways to move between nodes: 1. Always Transition- Unconditional, always fires
- Used for sequential flow
- No conditions needed
- AI determines if condition met
- Based on conversation context
- Flexible, conversational
- Triggered by keypad press
- Exact, predictable
- Good for menus
- Based on variable values
- Logical expressions
- Data-driven routing
Basic Routing Patterns
Intent-Based Routing
Route based on what the caller wants. Example Flow:Priority-Based Routing
Route urgent or VIP calls differently.Skill-Based Routing
Route to agents with specific skills.Advanced Routing Patterns
Time-Based Routing
Route differently based on time, day, or date. Business Hours Routing:Load-Based Routing
Distribute calls based on queue length or agent availability.Geographic Routing
Route based on caller location.Language-Based Routing
Route to language-specific agents.Data-Driven Routing
Route based on customer data from your systems.Multi-Stage Routing
Sequential Qualification Routing
Progressively qualify and route callers.Escalation Routing
Route to higher tiers when needed.Router Node Configuration
Building Conditions
Comparison Operators:Condition Ordering
Order matters! First match wins.Testing Routing Logic
Testing Checklist
Common Issues
Condition Never Matches
Condition Never Matches
Causes:
- Variable not extracted
- Variable name typo
- Wrong comparison operator
- Case sensitivity issue
- Check variable value in logs
- Verify variable name exactly matches
- Test with simpler condition
- Add logging/debugging node
Wrong Path Taken
Wrong Path Taken
Causes:
- Condition ordering wrong
- Too broad condition earlier
- Variable contains unexpected value
- Review condition order
- Check actual variable values
- Make conditions more specific
No Path Matched
No Path Matched
Causes:
- Missing “Always” fallback
- All conditions too specific
- Always include “Always” fallback
- Review conditions for gaps
Best Practices
Always Use Fallback
Every router should have “Always” as last condition
Order Matters
Most specific conditions first, general last
Test All Paths
Verify every condition can be reached
Keep It Simple
Complex logic is hard to maintain and debug
Document Logic
Comment why routing decisions are made
Monitor Routing
Track which paths are most used
Handle Missing Data
Plan for when variables aren’t populated
Use Appropriate Method
DTMF for menus, conditions for data, NL for intent