Squad Voice Limitations
# support
r
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. https://cdn.discordapp.com/attachments/1365276844449988618/1365276844844122194/Screenshot_2025-04-25_160141.png?ex=680cb8a5&is=680b6725&hm=801c6fc1804e4d949c8a7e2a5555ae65eab92e32e5fd11564d3ef43e6a786075& https://cdn.discordapp.com/attachments/1365276844449988618/1365276845280460861/Screenshot_2025-04-25_160327.png?ex=680cb8a5&is=680b6725&hm=ad71118cf911cf2fc0027a6bd4f9501b81458ab24abbf9ef7e2b9803f758792b&
v
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:
Copy code
json
{
  "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](https://discord.com/channels/1211482211119796234/1333379603028250665) - [Vapi Custom Voice documentation](https://docs.vapi.ai/customization/custom-voices/custom-voice)
r
@Vapi Support Bot Can you share a step by step guide on how to achieve this? (From logging into vapi and opening the dashboard)
v
## Update Squad Voices via API 1. **Access dashboard**: Go to [dashboard.vapi.ai](https://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:
Copy code
bash
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](https://docs.vapi.ai/quickstart/dashboard) - [Vapi Assistant API](https://docs.vapi.ai/api-reference/assistants/update-assistant)
s
ccing: @Kings_big💫 to help @Rishigangi
r
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
k
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.
r
@Kings_big💫 And what would be the easiest way to access and edit this squad JSON?
k
Through your dashboard, where you can modify assistants and settings directly,
r
@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?
k

https://youtu.be/U8K5WIVQtkY?si=QsqhA8X0uCYWDoIeâ–¾

r
@User 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.
@Vapi Support Bot 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?
v
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](https://docs.vapi.ai/api-reference/squads/get), 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:
Copy code
bash
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](https://docs.vapi.ai/api-reference/squads/update). Source: - [Vapi API Reference: Update Squad](https://docs.vapi.ai/api-reference/squads/update)
r
@Vapi Support Bot Can you generate an example curl call using members[n].assistantOverrides for changing the voices three members within the squad?
v
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:
Copy code
json
{
  "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](https://docs.vapi.ai/api-reference/squads/update) for more details.) Sources: - [Vapi API Reference: Update Squad](https://docs.vapi.ai/api-reference/squads/update) - [Vapi Customization: Multilingual](https://docs.vapi.ai/customization/multilingual)
r
@Vapi Support Bot 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?
v
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:
Copy code
json
"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](https://docs.vapi.ai/api-reference/squads/update) - [Vapi API Reference: Squads Create](https://docs.vapi.ai/api-reference/squads/create-squad)
r
@Vapi Support Bot 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
v
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:
Copy code
json
{
  "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](https://docs.vapi.ai/api-reference/squads/update)
r
@Vapi Support Bot 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"?
v
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:
Copy code
json
{
  "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](https://discord.com/channels/1211482211119796234/1342171458524414012). Source: - [Discord discussion on assistantDestinations structure](https://discord.com/channels/1211482211119796234/1342171458524414012)
To avoid the "type" field error when setting
assistantDestinations
in your squad JSON, ensure each entry includes the following required fields:
Copy code
json
"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](https://docs.vapi.ai/squads) - [Vapi squads example documentation](https://docs.vapi.ai/squads-example)
r
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 https://cdn.discordapp.com/attachments/1365276844449988618/1372168759753572453/Screenshot_2025-05-14_163658.png?ex=6825cb3d&is=682479bd&hm=b79e84aa1257f42ce93d939ff59a34ad1e7c5b78961d5c5e1f428508765e5f5c& https://cdn.discordapp.com/attachments/1365276844449988618/1372168760668061696/image.png?ex=6825cb3e&is=682479be&hm=b437b5057c7c81d4df4488301b454ee0a1ec1bc55177367db17e90229d3a2877&
s
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: .
r
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.
2 Views