Overview
Flow agents use nodes as building blocks to create sophisticated conversation workflows. Each node type serves a specific purpose, and understanding when to use each type is key to building effective flows.All Node Types at a Glance
| Node Type | Primary Purpose | Key Features | Common Use Cases |
|---|---|---|---|
| Start Node | Flow entry point | Dual mode: conversation or tool | Initial greeting, pre-fetch data |
| Conversation Node | Natural dialogue | Variable extraction, DTMF capture | Collect info, ask questions, explain |
| Tool Node | Execute tool templates | Parameter mapping, error handling | API calls, database lookups |
| Web Tool Node | One-off API calls | Inline HTTP configuration | Quick integrations, prototyping |
| Router Node | Conditional branching | Pure logic, no conversation | Route based on data, decision trees |
| Transfer Call Node | Phone transfer | Warm/cold transfer to number | Escalate to human, department routing |
| Transfer Agent Node | Agent handoff | Switch to different Hamsa agent | Specialist routing, language switching |
| End Call Node | Terminate call | Final message, graceful exit | Completion, timeout, error handling |
Start Node
Purpose: Entry point for every flow. The first node executed when a call begins.Two Operating Modes
Conversation Mode (Default)
Greets the caller and initiates dialogue.Tool Mode
Executes a tool before any conversation, useful for pre-fetching caller data.- Conversation mode: Standard flows that start with a greeting
- Tool mode: Pre-fetch customer data, check account status, log call start
Conversation Node
Purpose: The workhorse of flow agents. Used for natural dialogue with users.Key Capabilities
- Dynamic or static messages: AI-generated responses or fixed scripts
- Variable extraction: Automatically capture data from conversation
- DTMF input capture: Collect account numbers, PINs, phone numbers
- Skip response mode: Speak without waiting for user input
- Block interruptions: Prevent users from interrupting critical messages
- Greeting callers
- Asking questions and collecting information
- Providing explanations or instructions
- Handling objections
- Conducting surveys
- Confirming understanding
Tool Node
Purpose: Execute reusable tool templates (API Request tools, MCP tools, Function tools).Key Features
- Parameter mapping: Map variables to tool inputs
- Error handling: Continue, retry, or fail on errors
- Custom responses: Override default tool responses
- Output mapping: Extract data from responses into variables
- Processing messages: Display messages while tool executes
- Timeout configuration: Set max execution time
- Database lookups
- API integrations
- Check availability, status, or inventory
- Submit forms or create records
- Retrieve customer data
- Process payments
- Send notifications
Web Tool Node
Purpose: Make one-off HTTP requests without creating a reusable tool template.Key Features
- Inline configuration: Define HTTP request directly in the node
- No template needed: Perfect for single-use API calls
- Same capabilities as Tool Node: Parameters, error handling, output mapping
- Rapid prototyping: Test integrations before creating templates
- Quick one-off integrations
- Prototyping before creating tool templates
- Flow-specific API calls unlikely to be reused
- Testing API endpoints
- Simple GET requests
- Tools needed across multiple agents (create a template instead)
- Complex error handling requirements
- Tools requiring extensive documentation
Router Node
Purpose: Pure conditional routing based on variables and equations—no conversation.Key Features
- No conversation: Instantly evaluates and transitions
- Multiple conditions: Complex decision trees with AND/OR logic
- Variable-based routing: Branch on extracted data
- High performance: Fast evaluation, no LLM calls
- Route based on extracted variables
- Implement business logic
- Create decision trees
- A/B test different conversation paths
- Route by time of day, caller type, account status
- Split flows based on data (not conversation content)
- When conversation is needed to determine next step (use conversation node instead)
- Simple single-condition routing (use conversation node with natural language transition)
Transfer Call Node
Purpose: Transfer the phone call to another phone number.Key Features
- Warm transfer: Announce transfer before connecting
- Cold transfer: Immediate transfer without announcement
- Transfer message: Customizable pre-transfer message
- Phone number validation: E.164 format required
- Timeout configuration: Set max wait time
- Escalate to human agents
- Department-specific routing
- After-hours transfer to answering service
- Emergency or high-priority scenarios
- Specialized support requiring human interaction
- Transferring to another Hamsa agent (use Transfer Agent Node instead for better experience)
- When conversation can continue with AI
Transfer Agent Node
Purpose: Transfer to another Hamsa agent while maintaining conversation context.Key Features
- Lower latency: No phone transfer needed
- Context preservation: Full conversation history passed
- Better reliability: No call quality issues
- No repeated questions: New agent has full context
- Seamless experience: User doesn’t realize they switched agents
- Route to specialized agents (tech support, billing, sales)
- Language switching (English → Spanish → Mandarin)
- Complexity escalation (simple → advanced agent)
- Department routing within your AI system
- Workflow hand-offs (qualification → closing)
- Faster: No phone system involved
- Smarter: New agent has full context
- Cheaper: No telephony transfer costs
- Better UX: No hold music or reconnection
End Call Node
Purpose: Gracefully terminate the conversation.Key Features
- Final message: Optional goodbye message
- Call reason tracking: Mark why call ended
- Static or dynamic message: Fixed script or AI-generated
- Clean termination: Proper call cleanup
- Successfully completed conversations
- User requested to end call
- Timeout scenarios (no user input)
- Error scenarios requiring termination
- After transfer (to ensure original call ends)
completed: Normal completionuser_requested: User asked to end callerror: System error occurredtimeout: User inactive too long
Node Selection Guide
Decision Tree: Which Node Should I Use?
Common Node Combinations
Pattern 1: Conversation → Tool → Conversation
Collect information, call API, discuss results.Pattern 2: Tool → Router → Multiple Paths
Fetch data, route based on results.Pattern 3: Conversation → Router → Transfer/End
Qualify, route to appropriate endpoint.Pattern 4: Start (Tool) → Conversation
Pre-fetch data, personalized greeting.Best Practices
✅ Do’s
Keep nodes focused- Each node should have one clear purpose
- Split complex logic into multiple nodes
Collect_Contact_InfonotNode_3Transfer_To_BillingnotTransfer_1
- Sketch on paper or whiteboard
- Identify all possible paths
- Plan for error scenarios
- Don’t use conversation nodes for pure routing
- Don’t use router nodes when conversation is needed
- Use web tool nodes for prototyping, tool nodes for production
- Use “always” transitions as safety nets
- Handle error scenarios gracefully
- Consider timeout scenarios
❌ Don’ts
Don’t create circular flows without exit conditions- Every loop needs a way out
- Consider max iteration limits
- Plan for API failures
- Handle timeout scenarios
- Provide graceful degradation
- Create templates for frequently used tools
- Web tool nodes are for prototyping
- If a conversation node needs >300 words, split it
- If a router has >10 conditions, reconsider logic
- Keep conversations natural
- Don’t over-complicate flows
- Test with real users
Advanced Patterns
Global Nodes for Common Functions
Mark nodes as global to make them accessible from anywhere:Parallel Tool Execution
Execute multiple tools simultaneously using multiple transitions from a single node. Note: Current implementation processes sequentially, but structure supports parallel execution.Progressive Disclosure
Start with simple questions, progressively ask for more detail based on responses.Node Configuration Reference
Common Configuration Across All Nodes
All nodes share these base configuration options:Next Steps
Explore individual node types in detail:Start Node
Flow entry point with conversation or tool mode
Conversation Node
Natural dialogue with variable extraction
Tool Node
Execute reusable tool templates
Web Tool Node
One-off API calls and integrations
Router Node
Conditional routing based on logic
Transfer Call Node
Transfer to phone number
Transfer Agent Node
Switch to another Hamsa agent
End Call Node
Gracefully terminate calls