warm transfer not saying summary before connecting
# support
l
Hello Vapi team, I'm trying to use the "Warm Transfer - Wait for Operator to speak First, Then Say Summary" transfer mode but so far, it only connects the call without giving the summary. I've gone through both the API documentation and the Tool builder on the dashboard but so far is only connecting the call without verbalizing the summary before connecting. I'm currently using a tool ID that I first created on the API documentation playground, and alter modified on the Vapi dashboard -> tool section. Current behavior: once the user asks to get transferred, the agent just forwards the call without giving context of the conversation. Expected behavior: once the user asks to get transferred, the agent calls the destination, destination picks up the call, and then the agent provides a short summary of the prior conversation with the user, and finally connects both of them. Call Example where it did not work; 638e170e-a9d2-48d2-9c7e-558231e2e894 Tool ID: e8202a83-e873-413b-bd1d-58c769f8700e Please let me know what am I doing wrong. Thanks!
v
Hi there! 👋 I see you're having trouble with the "Warm Transfer - Wait for Operator to speak First, Then Say Summary" transfer mode. I'm unable to analyze your specific tool ID or call example in detail, but I can definitely help troubleshoot the issue based on common problems with this transfer mode. Based on the information I found, here are some potential reasons why your summary isn't being verbalized before connecting: 1. **Check your transfer mode configuration**: Make sure you've correctly set
transferPlan.mode='warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary'
in your configuration. According to the [documentation](https://docs.vapi.ai/changelog/2024/10/13), this is the exact mode name needed for this functionality. 2. **Review your summary plan setup**: Ensure your
summaryPlan
is properly configured with:
Copy code
json
   "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"
       }
     ]
   }
This configuration is essential for generating the summary correctly, as mentioned in the [call forwarding documentation](https://docs.vapi.ai/call-forwarding). 3. **Check for request-start message issues**: According to information I found, the
request-start
message inside your tool might be causing the issue. Try setting the
request-start
message to an empty string to prevent the default message from being used, which might be interfering with your summary. 4. **Disable phone-call-control server event**: If you have the server event 'phone-call-control' enabled, this could be interfering with the summary being played. Try removing this event from your assistant configuration.
5. **Adjust call flow logic**: You might need to adjust your call flow logic to ensure the message is fully played before initiating the transfer. This could involve introducing a delay or callback mechanism to confirm message playback completion. 6. **Check for recent changes**: Review any recent changes to your configuration that might have inadvertently affected the assistant's behavior, especially regarding completion messages and the assistant's logic for providing feedback after tool calls. These are common issues that have been reported with this specific transfer mode. Would you like me to elaborate on any of these potential solutions? Sources: - [Troubleshooting steps for 'Warm Transfer Wait for Operator to speak First, Then Say Summary' not verbalizing summary in Vapi](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1334114042876264518) - [Configuration options for 'Warm Transfer Wait for Operator to speak First, Then Say Summary' transfer mode in Vapi](https://docs.vapi.ai/changelog/2024/10/13) - [Common issues with 'Warm Transfer Wait for Operator to speak First, Then Say Summary' transfer mode in Vapi](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1344167538174591076) - [How does the 'Warm Transfer Wait for Operator to speak First, Then Say Summary' transfer mode work in Vapi?](https://docs.vapi.ai/call-forwarding)
l
@Vapi Support Bot I see that on my messages on the call log details I see that once the tool is requested and being executed there is this info: { "role": "tool_calls", "time": 1742939915558, "message": "", "toolCalls": [ { "id": "call_9jo9UgmnJQHmBccxZ0p6SGhB", "type": "function", "function": { "name": "transferencia_con_resumen", "arguments": "{}" } } ], "secondsFromStart": 37.145 } Could the empty arguments mean something?
v
Hi there! 👋 I can't analyze your specific call log in detail, but I can definitely help with your question about the empty arguments in the tool call. Yes, the empty arguments (
"arguments": "{}"
) in your tool call could absolutely be causing the issue with the summary not being verbalized. According to information I've found, empty arguments can prevent the summary from being verbalized during warm transfers. Based on [documentation I've reviewed](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1334191012620402730), empty arguments in tool calls can lead to the summary not being played during the transfer process. There are several potential reasons for these empty arguments: 1. **Missing variable replacement**: Variables might not be replaced in the transfer message due to missing assistant overrides. 2. **Filtering of Vapi-defined tools**: Sometimes Vapi-defined tools might be filtered from the chat completions endpoint, resulting in empty arrays and strings as responses. 3. **Request-start message issue**: The
request-start
message inside the tool might be causing the issue. Try setting it to an empty string as suggested earlier. 4. **Misconfiguration of the tool call**: Your
transferCall
configuration might have empty "destinations" or other missing information. For the
transferencia_con_resumen
function (which is Spanish for "transfer with summary"), the tool call should include arguments like the destination number at minimum. The empty arguments object
{}
suggests that the required parameters aren't being passed correctly. Would you like me to help you troubleshoot how to properly configure the arguments for this function? Sources: - [How do empty arguments in Vapi tool calls affect the 'Warm Transfer Wait for Operator to speak First, Then Say Summary' transfer mode?](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1334191012620402730)
- [What are the expected arguments for the 'transferencia_con_resumen' function in Vapi?](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1331648945818177586) - [How does Vapi handle tool calls with missing or empty arguments?](https://discord.com/channels/1211482211119796234/1211483291191083018/threads/1315677399026765855) - [TERM_QUERY: What is 'transferencia_con_resumen' in Vapi?](https://docs.vapi.ai/call-forwarding)
l
I've also just created these other tools where I have changed the summaryplan messages to 1 system content and 1 user content. e8529b6b-6dca-4681-8971-c59f857d8321 Still no luck tho...
k
Hey Luisson, as of now, this feature only works for Twilio phone numbers only. That's why the call forwarding was successful, but no summary was being voiced out during the handoff.
l
@Shubham Bajaj , thanks for clarifying! What about the transfer with SIP header summary? I'm currently looking for ways in which I can share information about the call with the forwarding destination to give some context. Any other suggestions? Also, using a Twilio phone number, what would be the proper way of setting up the transfer-with-summary-tool? I think I've seen two different ways of configurating it on the vapi documentation but I'm still a little bit confused. Would you mind sharing a working example of the JSON config of the tool with me please?
s
@luisson The "blind-transfer-add-summary-to-sip-header" mode is designed to add a summary of the conversation to the SIP headers when transferring a call. This allows the receiving system to extract and use this contextual information without requiring the AI to verbalize it. When using this mode: - It adds an
X-Transfer-Summary
header to the SIP request - The receiving system must be configured to parse and utilize this header - This works with both Twilio and SIP destinations ## Other Ways to Share Call Context with Forwarding Destinations Here are additional options for sharing call context: **Using Warm Transfer with Summary modes**: Once the limitation with Twilio is addressed, you can use "warm-transfer-say-summary" or "warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary" ## Proper Configuration for a Transfer-with-Summary Tool with Twilio Here's a complete JSON configuration example for a "warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary" tool using a Twilio phone number:
Copy code
json
{
  "type": "transferCall",
  "destinations": [
    {
      "type": "number",
      "number": "[YOUR_TWILIO_PHONE_NUMBER]",
      "description": "Customer Support Representative",
      "transferPlan": {
        "mode": "warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary",
        "summaryPlan": {
          "enabled": true,
          "messages": [
            {
              "role": "system",
              "content": "You are a helpful assistant creating a brief call summary. Provide a concise 2-3 sentence summary of the key points from this conversation, including the customer's main issue and any important details discussed."
            },
            {
              "role": "user",
              "content": "Here is the transcript:\n\n{{transcript}}\n\n"
            }
          ],
          "timeoutSeconds": 5
        }
      }
    }
  ]
}
The key elements here are: 1. The
mode
set to "warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary" 2. A properly configured
summaryPlan
with system and user messages 3. Using a Twilio phone number as the destination When configured correctly with a Twilio number, this will: 1. Generate and speak a summary of the conversation 2. Dial the destination number 3. Wait for someone to answer 4. Wait for the operator to speak first 5. Connect the customer to the operator --- I hope this helps address your questions. Let me know if you need any clarification or have additional questions about configuring your transfer tools.
l
Thank you so much Shubbham. I'll try this configuration and I'll let you know how it goes. thanks!
k
Marking this ticket as Solved ✅
2 Views