Overview
Transfer call nodes transfer the active phone call to another phone number. This is useful for escalating to human agents, routing to specialized departments, or connecting callers to specific phone lines. Transfer call nodes support both warm transfers (with announcement) and cold transfers (immediate connection). Key characteristic: Transfer call nodes connect the caller to a completely different phone number, ending the AI agent’s involvement in the conversation.When to Use
Use transfer call nodes to:- Escalate to human agents - Complex issues requiring human judgment
- Department routing - Transfer to sales, support, billing departments
- Specialist connection - Route to subject matter experts
- After-hours routing - Transfer to answering service outside business hours
- Emergency scenarios - Critical situations requiring immediate human attention
- Geographic routing - Connect to local office phone numbers
- Compliance requirements - Legal or regulatory requirements for human interaction
- Caller needs to speak with a person at a phone number
- Issue is beyond AI agent’s capabilities
- Regulatory or compliance requirements demand human interaction
- Specialized expertise is required
- Transferring to another Hamsa AI agent
- Want to maintain conversation context and history
- Need faster, more reliable handoff
- Staying within your AI agent ecosystem
Core Configuration
Phone Number Format
Phone numbers must be in E.164 international format.E.164 Format
Country Codes
Common country codes:- USA/Canada: +1
- UK: +44
- Australia: +61
- Germany: +49
- France: +33
Using Variables
Transfer Types
Cold Transfer (Default)
Immediately transfer the call without announcement. The caller is connected directly to the destination number.- Agent: “Let me transfer you now.”
- Call immediately transfers
- Caller hears ringing or destination’s greeting
- AI agent disconnects
- Speed is important
- No context needs to be provided
- Destination will identify itself (IVR, receptionist)
- Simple, straightforward routing
Warm Transfer
Announce the transfer before connecting. The agent speaks a transfer message, then connects the call.- Agent: “I’m transferring you to our sales team…”
- Agent speaks full message
- Call transfers after message completes
- Caller hears ringing or destination’s greeting
- Caller should know why they’re being transferred
- Setting expectations about who they’ll reach
- Professional, courteous experience
- Context or explanation needed
Transfer Message Configuration
Static Message
Exact, predetermined message spoken every time.- Message should be identical every time
- Legal or compliance requirements
- Scripted professional transfer
- No personalization needed
Prompt-Based Message
AI generates contextual transfer message based on conversation.- “I’m connecting you with our billing team who specializes in account balances.”
- “Let me get you to someone in billing who can review your account.”
- Want natural, conversational transfer
- Personalization based on conversation context
- Flexible, adaptive messaging
- Reference extracted variables
Message with Variables
Use extracted variables in transfer messages.Timeout Configuration
Set maximum wait time for transfer connection.- Transfer attempt is cancelled
- Call returns to flow (if transitions configured)
- Otherwise, call typically ends
- Standard transfers: 30 seconds
- Busy departments: 45-60 seconds
- Quick routing: 15-20 seconds
If the destination doesn’t answer within the timeout, the transfer fails. Plan for timeout scenarios with fallback transitions.
Custom SIP Headers
Attach custom SIP headers to the outgoing transfer call. This is useful for passing metadata to the receiving SIP endpoint — routing hints, customer context, or authentication tokens. Each header is a key-value pair where the value supports{{variable}} interpolation, making headers dynamic per-call.
Adding Headers
- Click Add Header in the Custom SIP Headers section
- Enter the Header Name (e.g.,
X-Custom-Header) - Enter the Value — either a static string or a
{{variable}}reference - Both name and value are required
Use Cases & Examples
Example 1: Simple Operator Transfer
Scenario: Transfer to operator with no announcement.Example 2: Department Routing with Message
Scenario: Route to sales with warm transfer.Example 3: Emergency Transfer (Global)
Scenario: Global node for urgent issues, accessible anytime via DTMF 0.Example 4: After-Hours Routing
Scenario: Transfer to answering service outside business hours.Example 5: Escalation with Context
Scenario: Transfer with personalized context about the caller.Example 6: VIP Customer Routing
Scenario: High-value customers get direct line to VIP team.Example 7: Geographic Routing
Scenario: Transfer to regional office based on location.Example 8: Timeout Fallback
Scenario: Handle transfer timeout with fallback to voicemail.Global Transfer Nodes
Make transfer nodes accessible from anywhere in the flow.Global via DTMF
Press a key anytime to transfer (common: 0 for operator).Global via Natural Language
Speak trigger phrase anytime to transfer.Common Global Transfer Patterns
Transitions
Most transfer call nodes don’t need transitions—they terminate the AI agent’s involvement.When to Use Transitions
Timeout handling:Troubleshooting
Issue: Transfer fails immediately
Possible causes:- Invalid phone number format
- Phone number doesn’t exist
- Network connectivity issues
- Invalid country code
- Verify E.164 format:
+[country][area][number] - Test phone number manually
- Check country code is correct
- Remove any spaces, dashes, or parentheses
Issue: Transfer times out
Possible causes:- Destination number not answering
- Timeout set too short
- Destination line is busy
- After-hours (no one available)
- Increase timeout value
- Verify destination is staffed
- Test during business hours
- Add fallback transition for timeout
Issue: Transfer message not playing
Possible causes:- Using cold transfer (no message in cold transfer)
- Message is empty
- Message type misconfigured
- Use
transferType: warmfor messages - Verify message field has content
- Check messageType is set correctly
Issue: User disconnects during transfer
Possible causes:- Long wait time (timeout)
- No context provided (user confused)
- Unexpected transfer (user didn’t request it)
- Use warm transfer with explanation
- Set appropriate expectations
- Reduce wait time
- Only transfer when appropriate
Issue: Variables not interpolating in message
Possible causes:- Variable doesn’t exist
- Variable name misspelled
- Variable not extracted yet
- Verify variable exists (extracted earlier)
- Check spelling:
{{exact_variable_name}} - Ensure extraction happens before transfer
- Test with static message first
Flow Examples
Example Flow 1: Simple Department Routing
Example Flow 2: Smart Routing with Qualification
Example Flow 3: Escalation Path
Comparison: Transfer Call vs Transfer Agent
→ Learn More: Transfer Agent Node
Schema Reference
Next Steps
Transfer Agent Node
Transfer to another Hamsa AI agent
Global Nodes
Make transfers accessible anytime
Router Node
Route before transferring
End Call Node
End calls gracefully
DTMF Features
Use keypad for transfer triggers
Best Practices
Build better flows