mute-gold
mute-gold•5mo ago

Squad Voice Limitations

I have a client requirement where the first voice agent would be in English, and depending on the caller's language preference, it will be transferred to a different language agent. So, I created duplicates of the agent in four different languages, assigned the right transcribers and selected the voices. Some of these voice IDs were taken from the voice library, and not from the default drop-down list. Now, when I try to create a squad, I am forced to choose the voices again for each agent, and there is no option to leave it to the default voice for the agent. The worst part, I can't even enter a voice ID in the voice selection area within squads! If I am unable to use these agents within the squad with their default voices, the whole system would fail as it is impossible to find decent multilingual options from the limited drop-down list. Please provide the best workaround/resolution at the earliest possible.
No description
No description
24 Replies
Vapi Support Bot
Vapi Support Bot•5mo ago
Since there's a known issue with voice selection in squads, try using the Assistant API to configure your squad's voices instead of the UI. Update the voice property in your assistant configuration JSON:
{
"voice": {
"provider": "11labs",
"voiceId": "86V9x9HrQds83qfzaGn" // Your custom voice ID
}
}
{
"voice": {
"provider": "11labs",
"voiceId": "86V9x9HrQds83qfzaGn" // Your custom voice ID
}
}
This bypasses the UI limitations while maintaining your multilingual voice setup. Sources: - Discord discussion about voice selection issues - Vapi Custom Voice documentation
ā¤µļø Mention @Vapi Support Bot for follow-ups 🐄
mute-gold
mute-goldOP•5mo ago
@Duckie Can you share a step by step guide on how to achieve this? (From logging into vapi and opening the dashboard)
Vapi Support Bot
Vapi Support Bot•5mo ago
Update Squad Voices via API 1. Access dashboard: Go to dashboard.vapi.ai and log in 2. Find Assistant ID: Copy the ID from the top of the assistant detail page 3. Make API request: Use this curl command:
curl -X PATCH https://api.vapi.ai/assistant/YOUR_ASSISTANT_ID \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"voice": {
"provider": "11labs",
"voiceId": "YOUR_CUSTOM_VOICE_ID"
}
}'
curl -X PATCH https://api.vapi.ai/assistant/YOUR_ASSISTANT_ID \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"voice": {
"provider": "11labs",
"voiceId": "YOUR_CUSTOM_VOICE_ID"
}
}'
No need to click Publish after the API update - changes apply immediately. Sources: - Vapi Dashboard - Vapi Assistant API
continuing-cyan
continuing-cyan•5mo ago
ccing: @Kings_bigšŸ’« to help @Rishigangi
mute-gold
mute-goldOP•5mo ago
Hi, making this API request can change the voice for the assistant, but how do I change the voice of the assistant within the particular squad
metropolitan-bronze
metropolitan-bronze•5mo ago
You can bypass the squad voice selection limitation, by defining each agent directly within the squad JSON using custom voice IDs, instead of relying on the dropdown list.
mute-gold
mute-goldOP•5mo ago
@Kings_bigšŸ’« And what would be the easiest way to access and edit this squad JSON?
metropolitan-bronze
metropolitan-bronze•5mo ago
Through your dashboard, where you can modify assistants and settings directly,
mute-gold
mute-goldOP•4mo ago
@Kings_bigšŸ’« Apologies if I'm missing something, but I could not find any section in the dashboard to modify json files directly. Could you please share a screenshot or video pointing out the steps?
metropolitan-bronze
metropolitan-bronze•4mo ago
Jannis Moore | AI Automation
YouTube
Dynamic Variables Explained | Vapi Tutorial With Templates
Get the resource: https://go.integraticus.com/gWdAW In this tutorial, we dive deep into one of the most essential features of Vapi: Dynamic Variables. Learn how to customize your AI voice assistants by integrating dynamic information like user names and other data points, without any coding knowledge. I’ll guide you step-by-step on setting up...
mute-gold
mute-goldOP•4mo ago
@Kings_bigšŸ’« Thanks for sharing, but I have already tried this along with running the curl command given by the vapi support bot. This is changing the assistant's voice in the assistant page, but it's not making the changes within the Squad. You mentioned "You can bypass the squad voice selection limitation, by defining each agent directly within the squad JSON using custom voice IDs, instead of relying on the dropdown list", and I would like to know how to achieve that. @Duckie This is only changing the assistant voice and not the voice of the assistant within the squad. Can you share the curl command for changing the voice of an assistant within an existing squad?
Vapi Support Bot
Vapi Support Bot•4mo ago
I couldn't find enough info on how to update assistant voices specifically within squads—looks like the docs only cover updating the assistant's voice globally, not per squad. Since this is a bit outside what's documented, I'm escalating your question to a human expert who can help you out. If you want to check the general API for getting squad JSON, you can use the Get Squad API, but it doesn't mention editing or updating voices within squads. Hang tight—someone from the team will get back to you soon! To update a squad's JSON and override assistant settings (such as voice), use the following PATCH request:
curl -X PATCH "https://api.vapi.ai/squad/:id" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"members": [ ... ],
"membersOverrides": { ... }
}'
curl -X PATCH "https://api.vapi.ai/squad/:id" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"members": [ ... ],
"membersOverrides": { ... }
}'
You can use membersOverrides for global overrides or members[n].assistantOverrides for per-assistant overrides. The documentation does not provide a specific example for setting a custom voice ID, but these are the fields to use for such overrides documentation. Source: - Vapi API Reference: Update Squad
mute-gold
mute-goldOP•4mo ago
@Duckie Can you generate an example curl call using members[n].assistantOverrides for changing the voices three members within the squad?
Vapi Support Bot
Vapi Support Bot•4mo ago
To update the voices of multiple squad members via the Vapi API, use the PATCH endpoint and include members[n].assistantOverrides for each member. Here’s a sample JSON payload structure you can use in your request body:
{
"members": [
{
"assistantOverrides": {
"voice": {
"provider": "azure",
"voiceId": "es-ES-ElviraNeural"
}
}
},
{
"assistantOverrides": {
"voice": {
"provider": "azure",
"voiceId": "en-US-JennyNeural"
}
}
}
]
}
{
"members": [
{
"assistantOverrides": {
"voice": {
"provider": "azure",
"voiceId": "es-ES-ElviraNeural"
}
}
},
{
"assistantOverrides": {
"voice": {
"provider": "azure",
"voiceId": "en-US-JennyNeural"
}
}
}
]
}
Send this as the body to PATCH https://api.vapi.ai/squad/:id with your Bearer token. Adjust the voiceId and provider as needed for each assistant. (See Vapi documentation for more details.) Sources: - Vapi API Reference: Update Squad - Vapi Customization: Multilingual
mute-gold
mute-goldOP•4mo ago
@Duckie Where in the command do I specify the assistant info so that it knows which assistant's parameters it is changing? I tried using assistantID, but it ended up changing the primary caller too. I need to change only the voices without switching the primary caller. I would also like to know what to keep in place of "[n]". Do we keed the assistant ID or the order of the assistant within the squad or something else?
Vapi Support Bot
Vapi Support Bot•4mo ago
To change the voice of a specific assistant in your Vapi squad (without affecting others), use the assistant's position in the members array as the index [n]. For example, to update the second assistant's voice:
"members": [
{ /* Assistant 1 */ },
{
/* Assistant 2 */
"assistantOverrides": {
"voice": {
"provider": "playht",
"voice": "Jennifer"
}
}
}
]
"members": [
{ /* Assistant 1 */ },
{
/* Assistant 2 */
"assistantOverrides": {
"voice": {
"provider": "playht",
"voice": "Jennifer"
}
}
}
]
Set the assistantOverrides for the desired assistant at the correct index. You must know the order of assistants in the array to target the right one. Sources: - Vapi API Reference: Squads Update - Vapi API Reference: Squads Create
mute-gold
mute-goldOP•4mo ago
@Duckie I have been able to run the command, but this also broke the transfer destinations I had set within the Squad page. I am trying to set the destinations within the code using assistantDestination and assistantName. However, when setting the assistant name within the code and referring to it within assistantName, I am getting the following error. { "message": [ "members.0.assistantDestinations.0.type must be one of the following values: assistant", "members.1.assistantDestinations.0.type must be one of the following values: assistant" ], "error": "Bad Request", "statusCode": 400 } Please guide me on how to fix the error, and provide an example call using assistantDestination, description, and assistantName
Vapi Support Bot
Vapi Support Bot•4mo ago
To update a squad's name (assistantName) using the Vapi API, send a PATCH request to https://api.vapi.ai/squad/:id with a JSON body like this:
{
"name": "Your New Squad Name",
"members": [ /* list of assistant objects as required */ ]
}
{
"name": "Your New Squad Name",
"members": [ /* list of assistant objects as required */ ]
}
The name field sets the squad name, and the members list is required. There is no available documentation on updating assistantDestinations or description fields or preserving transfer destinations during updates. Source: - Vapi API Reference: Update Squad
mute-gold
mute-goldOP•4mo ago
@Duckie The goal is to set the transfer destinations from within the code, but I am getting the aforementioned error. I'm not trying to change the squad name. Also, what does the "members.0.assistantDestinations.0.type must be one of the following values: assistant" error mean? Does this mean I'm supposed to choose a value for "assistant" instead of an existing assistant using its corresponding "assistantID"?
Vapi Support Bot
Vapi Support Bot•4mo ago
To resolve the "type" field needs to be "assistant" error in your squad JSON, ensure each member's assistantDestinations array includes an object with "type": "assistant" and references a valid assistant. Here’s a correct example:
{
"members": [
{
"assistantId": "2de71f0b-f9a2-4d47-ba49-61d80781c4b8",
"assistantDestinations": [
{
"type": "assistant"
// ... other required fields ...
}
]
}
]
}
{
"members": [
{
"assistantId": "2de71f0b-f9a2-4d47-ba49-61d80781c4b8",
"assistantDestinations": [
{
"type": "assistant"
// ... other required fields ...
}
]
}
]
}
Make sure to remove any empty or malformed member objects. This structure should resolve the error and enable the "Talk with" functionality information found. Source: - Discord discussion on assistantDestinations structure To avoid the "type" field error when setting assistantDestinations in your squad JSON, ensure each entry includes the following required fields:
"assistantDestinations": [
{
"type": "assistant",
"assistantName": "Appointment Booking",
"message": "Please hold on while I transfer you to our appointment booking assistant.",
"description": "Transfer the user to the appointment booking assistant after they say their name."
}
]
"assistantDestinations": [
{
"type": "assistant",
"assistantName": "Appointment Booking",
"message": "Please hold on while I transfer you to our appointment booking assistant.",
"description": "Transfer the user to the appointment booking assistant after they say their name."
}
]
Make sure the type is set to "assistant" and all other required fields are present to prevent errors. Sources: - Vapi squad JSON documentation - Vapi squads example documentation
mute-gold
mute-goldOP•4mo ago
Thanks, I was able to change the voices within the squad, and also the the transfer is working withing the squad now. However, even though the change is reflecting here, it does not actually change the voices. The custom voice here is a female Spanish voice, but after the transfer, the voice is still like an extremely low-pitch male voice
No description
No description
Sahil
Sahil•4mo ago
Hey, Could you please schedule a brief call at your convenience so we can discuss this matter in detail? Kindly use the following link to book a suitable time: https://calendly.com/shubham-vapi/chat-30m.
mute-gold
mute-goldOP•4mo ago
Hi Kyle, there are no available dates till Jun 13 on that calendar. Not sure if it's misconfigured or intended. The delivery deadline for this client is next week.
Sahil
Sahil•4mo ago
Can you provide a call id so we can investigate?

Did you find this page helpful?