PG
01/07/2026, 11:07 AMVapi Support Bot
01/07/2026, 11:09 AMassistant-request webhook to first return a transfer destination (the human operator) with warm-transfer-experimental mode and a fallbackPlan. In your fallbackPlan, instead of ending the call, have your server respond by assigning the call to a full AI assistant if the human doesn't answer. Example response:
json
{
"destination": {
"type": "number",
"number": "+1234567890",
"transferPlan": {
"mode": "warm-transfer-experimental",
"fallbackPlan": {
"message": "Transferring you to our AI assistant...",
"endCallEnabled": false
}
}
}
}
On fallback, your server should then handle the next assistant-request by assigning the AI assistant. See [Vapi call forwarding docs](https://docs.vapi.ai/call-forwarding) for details.
Source:
- [Call Forwarding | Vapi Documentation](https://docs.vapi.ai/call-forwarding)Liam Rosen
01/07/2026, 3:29 PMChiranjeet Mishra
01/08/2026, 6:54 PMjson
{
"destination": {
"type": "number",
"number": "+1234567890",
"transferPlan": {
"mode": "warm-transfer-experimental",
"fallbackPlan": {
"message": "Transferring you to our AI assistant...",
"endCallEnabled": false
}
}
}
}
2. While Vapi dials the human, customer stays on hold (holdAudioUrl or request-complete can set music). If human answers and accepts, the transfer assistant uses transferSuccessful.
3. If human doesn't answer or voicemail is detected, Vapi triggers the fallback flow. Your server should respond to the subsequent assistant-request webhook by assigning/returning the full AI assistant (not just a message). Use that assistantId in the webhook response so the call resumes with the conversational assistant.
Pointers and docs:
- Call forwarding and transferPlan examples: https://docs.vapi.ai/call-forwarding
- For assistant-managed transfers and transferAssistant tools (optional): https://docs.vapi.ai/calls/assistant-based-warm-transfer
- For dynamic control patterns (if you need programmatic decisions): https://docs.vapi.ai/calls/call-dynamic-transfers
Notes:
- Use warm-transfer-experimental to enable fallbackPlan behavior and voicemail detection options.
- Ensure your webhook logic sets the AI assistant when fallback occurs (assistant-request is the hook to change the assistant).
- If using Twilio/SIP for human legs, confirm voicemail detection mode (audio vs transcript) per docs.
If you want, I can provide a minimal assistant-request webhook JSON example that switches to an assistantId on fallback.PG
01/09/2026, 9:14 AMChiranjeet Mishra
01/12/2026, 10:41 AM