Warm transfers not working
# support
i
🚨 I am unable to get warm transfers to work correctly. The transfer happens, but it's a blind transfer. I need the AI agent to summarize the call first, and then give the target phone number user an opportunity to accept or decline the call based on the summary. Here is the tool JSON:
Copy code
{
  "id": "2f4a7619-0433-41e9-baa2-e11b7b472fc2",
  "createdAt": "2025-04-13T17:40:33.058Z",
  "updatedAt": "2025-04-29T05:23:48.826Z",
  "type": "transferCall",
  "function": {
    "name": "baker_street_transfer_call",
    "strict": false,
    "parameters": {
      "type": "object",
      "properties": {
        "destination": {
          "description": "",
          "type": "string",
          "enum": [
            "+17342037600",
            "+17343897325",
            "+17348008331",
            "+17344316329",
            "+17344159645",
            "+18178518301"
          ]
        }
      },
      "required": [
        "destination"
      ]
    }
  },
  "messages": [],
  "orgId": "66e5be45-ef60-444d-ad49-b9d7afd01a0f",
  "async": false,
  "destinations": [
    {
      "type": "number",
      "number": "+17342037600"
    },
    {
      "type": "number",
      "number": "+17343897325"
    },
    {
      "type": "number",
      "number": "+17348008331"
    },
    {
      "type": "number",
      "number": "+17344316329"
    },
    {
      "type": "number",
      "number": "+17344159645"
    },
    {
      "type": "number",
      "number": "+18178518301",
      "transferPlan": {
        "mode": "warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary",
        "sipVerb": "refer",
        "summaryPlan": {
          "enabled": true,
          "messages": [
            {
              "role": "system",
              "content": "Please provide a summary of the call."
            },
            {
              "role": "user",
              "content": "Here is the transcript:\n\n{{transcript}}\n\n"
            }
          ]
        }
      }
    }
  ]
}
Pinging again because it's really urgent that we get warm transfers working correctly, or may have to evaluate other options
I also tried the other variations of
transferPlan.mode
without luck
v
Hey! To help track down this issue, could you share: - The call ID - When exactly this happened (the timestamp) This would really help us figure out what went wrong!
i
yea! I'll make a new call now to get a fresh session
call ID: a3e890d3-2567-4c34-9c36-4170c853f48a
I just made the call right now
as you can see from the recording, or logging, the call transfer is successfully made, but it's a blind transfer, not a warm one. I'm expecting the agent to tell the 2nd user the summary, and get confirmation of whether or not that user wants to take the call.
n
@immortalloom what you are trying to do is not supported by VAPI, at least not as an internal function - and I'll explain why. To achieve the workflow you want, VAPI is required to have the same agent, talk to two different people at the same time - sharing the same information, while maintaining both sides. Then, it would require to "merge" the calls together. Now, in order to do so - that requires some significant signalling and mixing capabilities, and most importantly, making sure the two agents don't mix and don't confuse each other. Now, if you are inclined to adding a 3rd party telephony engine as part of your setup, such as Cloudonix, I can show you how to implement this workflow, in as little as an hour.
Btw, what you are asking for is not "Warm Transfer" it's called "Attended Transfer" in telephony lingo.
i
I'm just trying to at least get to the point where the AI agent says the summary message to the 2nd caller
n
From the website:
In this mode, Vapi waits for the recipient to speak first and then delivers a summary of the call to the recipient before transferring the call.
- it means, that it calls the 3rd party, waits for it to say something - then the message is heard by both the 3rd party agent and the prospect who previously talked to the AI. That is not what you described as your requirement.
i
Yea, but I would like to at least get to that point first ^^^
n
I can relate to that
i
@Shubham Bajaj any update thus far?
v
Hey, the warm transfer works only with Twilio. Your call was forwarded successfully, but the warm transfer message was stored in the SIP headers instead of being voiced. We need API configuration for each Telephony, which isn't possible. However, you can check with your Telephony if they require custom SIP headers. They can extract these headers after the SIP refer is sent and then voice out the message to the agent. You can always customize the SIP headers needed.
i
Thanks, this is good to know. Would be good for that information to be in the docs because on the surface it looks like it should just work 👍
v
Marking this ticket as Solved ✅