Transfer agent nodes hand off the conversation to a different Hamsa AI agent within your workspace. Unlike transfer call nodes that connect to external phone numbers, transfer agent nodes keep the conversation within your AI ecosystem, providing faster transfers with full context preservation.Key characteristic: Transfer agent nodes maintain the call connection while switching which AI agent is handling the conversation—no phone system transfer needed.
Transfer Agent Node: Transfer_To_Tech_Support agentId: "tech_support_agent" Transfer Message: message: "I'm connecting you with our technical specialist who can better assist you." messageType: static
Transfer Agent Node: Transfer_To_Billing agentId: "billing_agent" Transfer Message: message: "Explain to the user that you're transferring them to a billing specialist who can help with their specific question about invoices." messageType: prompt
AI might say:
“Let me connect you with our billing team who specializes in invoice questions.”
“I’m getting you to someone in billing who can review your invoices.”
Transfer Agent Node: Transfer_Premium_Support agentId: "premium_support_agent" Transfer Message: message: "Thank you {{customer_name}}. As a {{tier}} member, I'm connecting you with our premium support specialist." messageType: static
# Full conversation context{{conversation_history}}# All previously extracted variables{{customer_name}}{{account_id}}{{issue_type}}{{budget_range}}# System variables{{call_id}}{{caller_id}}{{call_duration}}
❌ Bad (phone transfer): Agent 1: "What's your account number?" [Transfer] Agent 2: "What's your account number?" [User frustrated]✅ Good (agent transfer): Agent 1: "What's your account number?" [Transfer with context] Agent 2: "I see your account {{account_id}} here..." [Seamless]
Intelligent handoff:
The new agent can immediately reference previous conversation, making the transition feel natural and efficient.
Scenario: Basic support agent transfers complex technical issues.
Copy
Ask AI
Conversation Node: Diagnose_Issue message: "Can you describe the technical problem you're experiencing?" Extract Variables: - issue_description: "Description of the issue" - issue_complexity: "Rate complexity: simple, moderate, complex" transitions: - Equation: {{issue_complexity}} == "complex" → Transfer_Tech_Specialist - Always → Attempt_Basic_SupportTransfer Agent Node: Transfer_Tech_Specialist agentId: "advanced_tech_support_agent" Transfer Message: message: "This sounds like a complex issue. Let me connect you with one of our senior technical specialists who can help." messageType: static
Scenario: Press 9 anytime to speak with a supervisor agent.
Copy
Ask AI
Transfer Agent Node: Supervisor_Transfer # Global configuration isGlobal: true globalConditionType: dtmf globalDtmfKey: 9 # Transfer configuration agentId: "supervisor_agent_id" Transfer Message: message: "I'm transferring you to a supervisor now." messageType: static
Transfer Agent Node: Global_Supervisor isGlobal: true globalConditionType: dtmf globalDtmfKey: 9 agentId: "supervisor_agent_id" transferMessage: "Connecting you with a supervisor."
Transfer Agent Node: Global_Specialist_Request isGlobal: true globalConditionType: prompt globalCondition: "User asks for a specialist or expert" agentId: "specialist_agent_id" transferMessage: "I'm connecting you with a specialist."
# ✅ Good: Transfer message explains whytransferMessage: "I'm connecting you with our billing specialist who can help with invoice questions."# ❌ Bad: No explanationtransferMessage: "Transferring."
Don’t create circular transfers
Copy
Ask AI
# ❌ Bad: Agent A → Agent B → Agent A (infinite loop)# ✅ Good: Clear, one-directional routing
Don’t transfer to inactive agents
Copy
Ask AI
# Always verify target agent is active and configured
Don’t lose important context
Copy
Ask AI
# ✅ Good: Extract variables before transferExtract {{customer_id}}, {{issue_type}}→ Transfer to specialist# ❌ Bad: Transfer without extracting context
Don’t over-transfer
Copy
Ask AI
# Only transfer when necessary# Try to resolve with current agent first