luisson
03/25/2025, 10:08 PMVapi Support Bot
03/25/2025, 10:10 PMtransferPlan.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:
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.Vapi Support Bot
03/25/2025, 10:10 PMluisson
03/25/2025, 11:00 PMVapi Support Bot
03/25/2025, 11:01 PM"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)Vapi Support Bot
03/25/2025, 11:01 PMluisson
03/25/2025, 11:51 PMKyle Brunker
03/26/2025, 11:36 PMluisson
03/27/2025, 3:58 AMShubham Bajaj
03/29/2025, 12:22 PMX-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:
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.luisson
03/30/2025, 10:02 PMKyle Brunker
03/31/2025, 12:47 PM