can't get warm transfer to say message
# support
b
I'm having an issue with warm transfers. I want to add a call transfer function that notifies the person it transfers the call to that its connecting them with a qualified lead. The issue is really odd because the call transfer DOES work but I cannot get vapi to relay the message "Hey here is the qualified lead" when it transfers the call. I tried using the HTTP module in make.com to do this:
Copy code
{
  "assistant": {
    "transcriber": {
      "provider": "deepgram",
      "language": "en-US",
      "model": "nova-2"
    },
    "model": {
      "provider": "openai",
      "model": "gpt-4o",
      "temperature": 0.2,
      "messages": [
        {
          "role": "system",
          "content": "[I have my prompt entered here]"
        }
      ],
      "maxTokens": 250,
      "tools": [
        {
          "type": "endCall",
          "async": true
        },
        {
          "type": "transferCall",
          "destinations": [
            {
              "type": "number",
              "number": "+1517xxxxxxx",
              "description": "Transfer to qualified lead handler",
              "transferPlan": {
                "mode": "warm-transfer-with-message",
                "message": "Hey here is the qualified lead"
              }
            }
          ],
          "messages": [
            {
              "type": "request-start",
              "content": "",
              "contents": [],
              "conditions": []
            }
          ]
        }
      ]
    },
    "voice": {
      "provider": "playht",
      "voiceId": "s3://voice-cloning-zero-shot/f2863f63-5334-4f65-9d30-438feb79c2ec/arianasaad2/manifest.json",
      "model": "PlayHT2.0-turbo",
      "speed": 1
    },
    "firstMessage": "Hi, this is Sarah from [company name] on a recorded line. You recently filled out our online request form. Just to confirm am I speaking with [name]?",
    "backgroundSound": "off",
    "endCallMessage": "Thank you, have a great day.",
    "silenceTimeoutSeconds": 20,
    "artifactPlan": {
      "recordingEnabled": true
    },
    "serverMessages": [
      "end-of-call-report",
      "hang"
    ],
    "server": {
      "url": "https://hook.us2.make.com/xxxxxxxxxxxxxxxxxxxxxxxx"
    }
  },
  "customer": {
    "number": "+1xxxxxxxxxx",
    "numberE164CheckEnabled": true
  },
  "phoneNumberId": "94a7854a-85ea-453b-b77e-361218b2fb9b"
}
After trying this method I tried creating the assistant through the dashboard and adding a tool that way. I connected it to my number I got through vapi (phone number ID: 94a7854a-85ea-453b-b77e-361218b2fb9b) My assistant ID is: bff0d0b8-883c-4e28-8de4-e526e214bdd2 The call ID was: 0a4f6589-8477-4d54-bca9-1756886ae457 Can you please let me know what I'm doing wrong here? I've tried so many different methods like warm-transfer-twiml and warm-transfer-wait-for-operator-to-speak-first Is the issue because I'm not using Twilio for the number? @User @Shubham Bajaj
v
Hi there! 👋 I see you're having trouble with the warm transfer message not being relayed during call transfers in Vapi. While I don't have specific information about your make.com HTTP module implementation, I can definitely help with configuring warm transfers to relay messages in Vapi. ## Warm Transfer Modes in Vapi According to the [Vapi call forwarding documentation](https://docs.vapi.ai/call-forwarding), there are several warm transfer modes you can use to notify the receiving agent: 1. **Warm Transfer with Message**: This mode allows you to provide a static message that will be played to the receiving agent.
Copy code
json
"transferPlan": {
  "mode": "warm-transfer-with-message",
  "message": "Hey here is the qualified lead"
}
2. **Warm Transfer with Wait for Operator**: This mode ensures the operator is ready before delivering your message:
Copy code
json
"transferPlan": {
  "mode": "warm-transfer-wait-for-operator-to-speak-first-and-then-say-message",
  "message": "Hey here is the qualified lead"
}
## Complete Implementation Example Here's a complete example of how to implement this in your code:
Copy code
json
{
  "type": "transferCall",
  "destinations": [
    {
      "type": "number",
      "number": "+1234567890",
      "transferPlan": {
        "mode": "warm-transfer-with-message",
        "message": "Hey here is the qualified lead"
      }
    }
  ],
  "messages": [
    {
      "type": "request-start",
      "content": "I am forwarding your call. Please stay on the line."
    }
  ]
}
## Troubleshooting Tips If you're still experiencing issues with the message not being relayed, consider these potential solutions: 1. **Try a different transfer mode**: According to [Discord discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1337412016985473044), the
warm-transfer-wait-for-operator-to-speak-first-and-then-say-message
mode can be more reliable as it ensures the operator is ready before delivering the message.
2. **Check for conflicts**: Make sure there are no
assistantOverrides
that might be preventing the system from speaking the transfer message, as mentioned in [community discussions](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1336569634094186516). 3. **Use TwiML for voice customization**: For more control over how the message is delivered, you can use the TwiML mode:
Copy code
json
"transferPlan": {
  "mode": "warm-transfer-with-twiml",
  "twiml": "<Say>Hey here is the qualified lead</Say>"
}
Is there anything specific about your implementation you'd like me to help troubleshoot further? Sources: - [Vapi call forwarding documentation](https://docs.vapi.ai/call-forwarding) - [Discord discussion about warm transfer modes](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1337412016985473044) - [Discord discussion about assistant overrides](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1336569634094186516) - [Discord discussion about TwiML for voice customization](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1342937740127502387)
b
already tried the method above @Shubham Bajaj, is there something else I'm doing wrong here?
k
Hey Buck, the Warm Transfer with Message or Summary only works for Twilio numbers. If the number source is BYOP OR SIP Trunking, then you can use SIP headers.
b
thanks for the response, that makes sense. Could you point me to the documentation or tutorials on how to do it with a twilio number and SIP headers?
Just to clarify: I see the SIP Telephony Guide that shows you can pass the summary in the header. I also see in the Vapi dashboard on the call transfer tool I can do blind transfer with SIP header My more specific question is: how do I handle the SIP header to have it spoked to the person I am transfering the call to? Would this be done through make or will the Vapi agent automatically speak out the SIP header upon transfer?
k
Hey Buck, Apologies for the delay. I was out of office for a couple of days, so couldn't reply earlier. The SIP header is passed via headers to the Telephony, so you cannot get it by making a request or using a VAPI agent. It won't speak it out for you. You have to check with your Telephony on how you can use those SIP headers before connecting it to your agent.
2 Views