Yasu
11/10/2025, 5:20 PMVapi Support Bot
11/10/2025, 5:21 PMfunction.name) rather than verbalizing the configuration. For example:
json
{
"type": "transferCall",
"function": { "name": "salesTransferAssistant" },
"destinations": [
{
"type": "number",
"number": "+81xxxxxxx",
"transferPlan": {
"mode": "warm-transfer-experimental",
"transferAssistant": {
"firstMessage": "Hello, I have a customer on the line. Are you available to take this call?",
"firstMessageMode": "assistant-speaks-first",
"maxDurationSeconds": 120
}
}
}
]
}
Update your system prompt to instruct the assistant to call the transfer tool, not to read out its configuration.
See the [assistant-based warm transfer documentation](https://docs.vapi.ai/calls/assistant-based-warm-transfer) for more details.
Source:
- [Assistant-based warm transfer](https://docs.vapi.ai/calls/assistant-based-warm-transfer)Chiranjeet Mishra
11/11/2025, 7:58 PMtransferCall function to forward calls to predefined numbers or use dynamic routing with an empty destinations array. For dynamic routing, you can choose to have an assistant supply a destination or respond with a destination from a server.
To configure call transfers for different departments or using different modes such as warm transfer with summary or experimental, you can set up your configurations using the [call forwarding guide](https://docs.vapi.ai/call-forwarding). Additionally, the new transferCompleteAudioUrl property in the TransferPlan allows you to specify a custom audio file URL to play after a transfer is complete, which is especially useful in the warm-transfer-experimental mode.
For detailed examples and configuration options, refer to the documentation provided. If you're facing specific issues with the tool, ensure that your destinations and transfer plans are correctly defined, and check the logs for possible errors.Yasu
11/11/2025, 11:27 PMChiranjeet Mishra
11/13/2025, 11:28 PM