Dynamic call transfers
Route calls to different destinations based on real-time conversation context and external data.
Route calls to different destinations based on real-time conversation context and external data.
Dynamic call transfers enable intelligent routing by determining transfer destinations in real-time based on conversation context, customer data, or external system information. Unlike static transfers with predefined destinations, dynamic transfers make routing decisions on-the-fly during the call.
Key capabilities:
Dynamic transfers with live call control use a server-controlled pattern that gives you maximum flexibility:
message.call.monitor.controlUrl for live call controlcontrolUrl with the transfer destinationAvailable context: Your server receives the full conversation transcript, custom parameters, call metadata, and the control URL, allowing you to make informed routing decisions and execute the transfer programmatically.
Parameters for custom tools are fully customizable. You can name and structure them however you like to guide routing (for example department, reason, urgency, customerId, etc.).
Sequence diagram
Create a custom tool that will receive the transfer request and provide you with the control URL to execute the transfer.
transfer_calldepartment, reason, urgency, customerId)Your server will receive the tool call with message.call.monitor.controlUrl and use it to execute the transfer via Live Call Control.
SIP transfers: To transfer to a SIP endpoint, use "type": "sip" with "sipUri" instead:
Assistant-based routing
Route customers to appropriate support tiers based on conversation analysis and customer data
Squad-based routing
Direct tenant calls to the right department with automated verification
Customer support routing - Route based on issue type, customer tier, agent availability, and interaction history. Enterprise customers and critical issues get priority routing to specialized teams.
Geographic routing - Direct calls to regional offices based on customer location and business hours. Automatically handle time zone differences and language preferences.
Load balancing - Distribute calls across available agents to optimize wait times and agent utilization. Route to the least busy qualified agent.
Escalation management - Implement intelligent escalation based on conversation tone, issue complexity, and customer history. Automatically route urgent issues to senior agents.
Warm transfers provide context to receiving agents with AI-generated conversation summaries, ensuring smooth handoffs with full context.
Cold transfers route calls immediately with predefined context messages, useful for simple departmental routing.
Conditional transfers apply different transfer modes based on routing decisions, such as priority handling for enterprise customers.
Destination types include phone numbers for human agents, SIP endpoints for VoIP systems, and Vapi assistants for specialized AI agents.
Security considerations: Always verify webhook signatures to ensure requests come from Vapi. Never log sensitive customer data, implement proper access controls, and follow privacy regulations like GDPR and CCPA when handling customer information in routing decisions.
"type": "number" with E.164 format. For SIP, use "type": "sip" with a valid SIP URI.