How squad versioning works with assistant versions
How squad versioning works
When you save a changed squad configuration, Vapi creates the next numbered version and marks it Current. Saving without a configuration change does not create another version. Versions are numbered v1, v2, and so on.
Calls use the current version by default. An outbound call can specify an earlier version without changing which version is current.
A squad version saves the squad’s configuration:
- The squad name
- The members, in order
- Each member’s assistant version: a pinned version, such as v3, or Latest.
- Member overrides that you configure in the squad builder, such as a member’s model, voice, tools, and handoffs
- Squad-level overrides that apply to all members
- Transient assistants defined inside the squad
Member overrides apply only when the assistant runs in this squad. They don’t change the assistant itself.
The assistant’s own configuration, including its tools, belongs to the assistant version. You change it in the assistant editor, and the squad uses it through the member’s pinned or Latest setting.
When a version is created
A squad that existed before squad versioning was enabled for your organization gets its first versions the next time you save a change: the existing configuration becomes v1 and your changes become v2.
Create a version
Create a squad to make v1. Later changes to its configuration create the next version when you save them.
Dashboard
cURL
Create a squad
In the Dashboard, select Squads in the sidebar, then New Squad. In Build your Squad, enter a name, choose a published assistant under Add your first member, and select New Squad. This creates v1.
View version history
Review the saved configuration of a squad version in the Dashboard or through the API. The Dashboard shows which version is Current, but does not offer a control to make an earlier version current.
Dashboard
cURL
Pin a member’s assistant version
Each member that uses a saved assistant has one of two settings:
- Latest: The member uses the assistant’s current published version when each call starts. This is the default.
- Pinned version, such as v3: The member always uses that assistant version.
To publish or review an assistant version before pinning it, see Versioning with assistants.
A squad version saves each member’s setting, not the assistant’s configuration. When an assistant publishes a new version, the squad version stays the same:
- Members set to Latest use the new assistant version on the next call.
- Pinned members stay on their pinned version until you change the pin and save the squad.
For example, squad v1 has assistant A pinned to v5 and assistant B set to Latest:
Squads pin assistant versions. Each assistant version keeps its own tool version selections, so a pinned member uses the tool versions saved with that assistant version.
Set assistantVersion on a saved assistant member to pin it. Omit the field to use Latest.
Dashboard
cURL
Select the member
In the Dashboard, select Squads in the sidebar and open the squad. Select the assistant member on the builder canvas to open its settings panel.
To make a squad version run the same configuration every time, pin each member, and pin the tools inside each of those assistant versions. A tool set to Latest in an assistant version uses the tool’s newest published version.
Which version a call uses
- Inbound calls use the squad’s current version.
- Outbound calls use the current version by default. To use a specific version, pass
squadVersionwithsquadIdin the create call request.
When a call uses an earlier squad version, it runs the squad as it was saved in that version: the same members, member overrides, and pinned assistant versions. Members set to Latest are the exception. They use each assistant’s current published version, not the version that was current when you saved the squad version.
To select a squad version for an outbound call, pass its version label with the saved squad’s ID. Replace the phone number and IDs with your own values.