Skip to main content

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


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.
When to use:
  • Conversation mode: Standard flows that start with a greeting
  • Tool mode: Pre-fetch customer data, check account status, log call start
→ Full Documentation: Start Node

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
Example - Information Gathering:
When to use:
  • Greeting callers
  • Asking questions and collecting information
  • Providing explanations or instructions
  • Handling objections
  • Conducting surveys
  • Confirming understanding
→ Full Documentation: Conversation Node

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
Example - Customer Lookup:
When to use:
  • Database lookups
  • API integrations
  • Check availability, status, or inventory
  • Submit forms or create records
  • Retrieve customer data
  • Process payments
  • Send notifications
→ Full Documentation: Tool Node

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
Example - Weather API (One-off):
When to use:
  • Quick one-off integrations
  • Prototyping before creating tool templates
  • Flow-specific API calls unlikely to be reused
  • Testing API endpoints
  • Simple GET requests
When NOT to use:
  • Tools needed across multiple agents (create a template instead)
  • Complex error handling requirements
  • Tools requiring extensive documentation
→ Full Documentation: Web Tool Node

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
Example - Lead Qualification Router:
When to use:
  • 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 NOT to use:
  • When conversation is needed to determine next step (use conversation node instead)
  • Simple single-condition routing (use conversation node with natural language transition)
→ Full Documentation: Router Node

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
Example - Transfer to Sales Team:
Example - Emergency Transfer (Global):
When to use:
  • Escalate to human agents
  • Department-specific routing
  • After-hours transfer to answering service
  • Emergency or high-priority scenarios
  • Specialized support requiring human interaction
When NOT to use:
  • Transferring to another Hamsa agent (use Transfer Agent Node instead for better experience)
  • When conversation can continue with AI
→ Full Documentation: Transfer Call Node

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
Example - Language Switch:
Example - Specialist Routing:
When to use:
  • 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)
Advantages over Transfer Call Node:
  • Faster: No phone system involved
  • Smarter: New agent has full context
  • Cheaper: No telephony transfer costs
  • Better UX: No hold music or reconnection
→ Full Documentation: Transfer Agent Node

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
Example - Successful Completion:
Example - Timeout Handling:
Example - Error Termination:
When to use:
  • Successfully completed conversations
  • User requested to end call
  • Timeout scenarios (no user input)
  • Error scenarios requiring termination
  • After transfer (to ensure original call ends)
Reason Types:
  • completed: Normal completion
  • user_requested: User asked to end call
  • error: System error occurred
  • timeout: User inactive too long
→ Full Documentation: End Call Node

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.

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

Client-side browser tools via SDK

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

Set Local Variables

Set variable values without conversation

Change Agent Settings

Override agent settings mid-flow
Learn related concepts:

Transitions

Control flow between nodes

Variables

Pass data between nodes

DTMF Features

Keypad interactions and input capture

Global Nodes

Accessible from anywhere in flow