Transfer calls from your AI agent to human agents, other departments, or external numbers using SIP trunks or the built-in transfer tool.Transfer Methods#
Let your AI agent decide when to transfer based on the conversation.2. API-Initiated Transfer (Call Control)#
Transfer calls programmatically via the API.Setting Up Agent Transfers#
Add the transfer tool to your agent's configuration:Step 2: Guide the Agent#
Update your system prompt to guide when to transfer:{
"messages": [
{
"role": "system",
"content": "Je bent een klantenservice medewerker. Je kunt de meeste vragen zelf beantwoorden, maar verbind door naar:\n- Sales: bij vragen over prijzen, offertes, of nieuwe producten\n- Technical support: bij technische problemen die je niet kunt oplossen\n- Billing: bij specifieke facturatievragen\n\nProbeer altijd eerst zelf te helpen voordat je doorverbindt."
}
]
}
| Field | Type | Required | Description |
|---|
type | string | Yes | transferCall |
destinations | array | Yes | List of transfer destinations |
destinations[].type | string | Yes | number |
destinations[].number | string | Yes | Phone number in E.164 format |
destinations[].description | string | Yes | When to use this destination (for LLM) |
destinations[].message | string | No | Message spoken before transfer |
API-Initiated Transfers#
Transfer an active call via the Call Control API:Transfer Command Fields#
| Field | Type | Required | Description |
|---|
type | string | Yes | transfer |
destination | string | Yes | Phone number or SIP URI |
message | string | No | Message before transfer |
Using SIP Trunks#
For transfers via your own phone system, configure a SIP trunk.Step 1: Create SIP Trunk#
Step 2: Assign to Phone Number#
Now transfers from this number will route through your SIP trunk.Transfer Best Practices#
1.
Clear descriptions - Help the AI know exactly when to transfer
2.
Informative messages - Tell callers where they're being transferred
3.
Avoid over-transferring - Train your agent to handle common questions
4.
Test destinations - Verify all transfer numbers are working
5.
Monitor transfers - Track transfer rates to identify training opportunities
Example: Complete Transfer Setup#
{
"name": "Support Agent",
"first_message": "Welkom bij Acme support, waarmee kan ik u helpen?",
"llm_config": {
"provider": "openai",
"model": "gpt-4o-mini",
"messages": [
{
"role": "system",
"content": "Je bent een support medewerker voor Acme. Help klanten met vragen over producten en diensten. Verbind alleen door als:\n1. De klant expliciet vraagt om een mens\n2. Je een vraag niet kunt beantwoorden na 2 pogingen\n3. Er een klacht is die escalatie vereist"
}
],
"tools": [
{
"type": "transferCall",
"destinations": [
{
"type": "number",
"number": "+31612345678",
"description": "Human support agent for complex issues or when customer explicitly requests a human",
"message": "Ik verbind u door met een van mijn collega's, een moment alstublieft."
}
]
},
{
"type": "endCall"
}
]
}
}
Modified at 2025-12-31 12:09:04