Warm transfer issues
# support
s
Hi, I am trying to us the VAPI warm transfer tool, if no one picks up I want it to return the control back to the VAPI Agent. It makes the call rings at the other end, the destination end eventually closes the call but the VAPI end keeps ringing and does not return the control back to the VAPI Agent. I am using the VAPI Call transfer tool. Does anyone have any reason why this might be?
v
To ensure control returns to the VAPI Agent if no one picks up, use the assistant-based warm transfer mode and set a
maxDurationSeconds
timeout with the
transferCancel
tool. Here’s a sample configuration:
Copy code
json
"transferPlan": {
  "mode": "warm-transfer-experimental",
  "maxDurationSeconds": 90,
  "transferAssistant": {
    "firstMessage": "Connecting you now.",
    "tools": [
      { "type": "transferCancel" }
    ]
  }
}
This setup will automatically cancel the transfer and return the customer to the VAPI agent if the operator doesn't answer within the timeout. See more: [Assistant-based warm transfer docs](https://docs.vapi.ai/calls/assistant-based-warm-transfer) Source: - [Assistant-based warm transfer](https://docs.vapi.ai/calls/assistant-based-warm-transfer)
c
Hi Sargey, If you're experiencing issues with warm transfers not working, here are a few steps you can take: 1. **Check Configuration**: Ensure your
transferPlan
is correctly configured for the desired warm transfer mode. Verify that the mode, messages, and destination phone numbers are set appropriately. 2. **Voicemail Detection**: Make sure your configuration for voicemail detection aligns with your needs, particularly if using
warm-transfer-experimental
mode and its
voicemailDetectionType
. 3. **Assistant Prompts**: Validate that your prompts for the transfer assistant are set correctly to handle various scenarios like detecting voicemail, confirming human operators, and managing the transfer process efficiently. 4. **Silent Timeout**: Utilize the
silenceTimeoutSeconds
setting in your transfer assistant configuration to prevent idle calls if there has been no response. 5. **Logs and Errors**: Review your call logs for errors or warnings that might indicate configuration issues or failures during the transfer process. For more detailed setup, refer to the [call forwarding documentation](https://docs.vapi.ai/call-forwarding) or the [assistant-based warm transfer documentation](https://docs.vapi.ai/calls/assistant-based-warm-transfer) for further guidance.
s
If I try and add the MaxTimout in my transfer tool. I get this error. { "message": [ "each value in destinations.transferPlan.property maxDurationSeconds should not exist" ], "error": "Bad Request", "statusCode": 400 This is the transfer tool which works in terms of tranferring if someone picks up. But does not timeout and return to the calling agent if no-one picks up. { "id": "237d02e3-c942-4ed5-89c3-d8bee025asa9", "createdAt": "2025-11-19T22:08:59.172Z", "updatedAt": "2025-11-20T14:58:25.988Z", "type": "transferCall", "function": { "name": "call_pm_team", "description": "Warm transfer the caller to the Property Management maintenance team. If no one answers or voicemail is detected, return the caller to the AI so it can take a detailed message." }, "messages": [ { "type": "request-start", "blocking": false } ], "orgId": "07d99ef85", "destinations": [ { "type": "number", "number": "+447868782463", "message": "I’m going to connect you to our Property Management maintenance team now.", "transferPlan": { "mode": "warm-transfer-experimental", "maxDurationSeconds": 10, "message": "Hi, I’m transferring a Fish Need Water tenant or landlord with a maintenance issue through to you.", "sipVerb": "refer", "summaryPlan": { "enabled": false, "messages": [], "timeoutSeconds": 5, "useAssistantLlm": false }, "fallbackPlan": { "message": "I wasn’t able to get anyone in the Property Management team to answer just now. I’ll take a message and make sure they get back to you.", "endCallEnabled": false } }, "numberE164CheckEnabled": true } ] }
I got this working. Thanks for your help
c
Thanks for getting back to us. We are delighted to know your issue has been resolved. Please do let us know if you need further assistance. We will be closing this for now and have a great day ahead!
a
@Sargey Are you able to shed light on how you addressed this? I'm facing a very similar issue at the momennt.
c
Hi Aditya, Thank you for reaching out. We kindly request that you please open a new support ticket and share the issue details with us so our team can investigate this further. If you have already opened a ticket, please share the ticket ID or the registered email address, and we’ll be happy to look into it right away.