Agent Versioning
Agent versioning lets you capture the full configuration of an agent at a point in time, creating an immutable snapshot you can deploy, compare, or restore later. This is essential for production deployments where you need reproducibility and safe rollbacks.Concepts
| Concept | Description |
|---|---|
| Draft | The live, editable configuration of your agent. Changes are immediate. This is what you work with in the agent editor. |
| Published version | An immutable snapshot of the agent’s full configuration at a specific moment. Once published, it cannot be modified. |
| Version number | Auto-incrementing integer (V1, V2, V3…) assigned when you publish. |
| Version pinning | Deploying a specific published version to a channel (phone number), so production calls use a frozen configuration instead of the draft. |
The draft is always your working copy. Publishing a version does not affect the draft — you can continue editing freely after publishing.
What Is Included in a Version
A published version captures the complete agent state:| Component | Included |
|---|---|
| Agent name | Yes |
| System prompt and welcome message | Yes |
| LLM provider, model, temperature, max tokens | Yes |
| TTS voice, STT provider, language | Yes |
| VAD, interruption, silence, inactivity settings | Yes |
| Background sound configuration | Yes |
| Linked knowledge bases (IDs and retrieval settings) | Yes |
| Linked tools (full tool configuration) | Yes |
| Call analysis fields and prompt | Yes |
| Workflow JSON (for workflow agents) | Yes |
Publishing a Version
Name and describe
Enter a version name (e.g. “Production v1”, “Post-holiday update”) and an optional description explaining what changed.
Version History
Click the version history button in the agent editor header to open the version history panel. It shows:- The current Draft at the top
- All published versions in reverse chronological order
- For each version: version number, name, description, author, and publication date
Restoring a Version
If you need to revert the draft to a previous configuration:Restoring a version overwrites the current draft. If you want to preserve the current draft, publish it as a new version before restoring.
Version Pinning (Channels)
By default, phone numbers use the agent’s draft configuration. For production stability, you can pin a phone number to a specific published version.- Navigate to Deploy > Channels
- On the phone number, select an agent
- Use the version dropdown next to the agent selector to choose a published version (or leave it on “Draft”)
- Save the configuration
Version Pinning with A/B Testing
When running an A/B test, each variant can be pinned to a different version independently. For example:| Variant | Agent | Version | Weight |
|---|---|---|---|
| Control | Sales Agent | V3 (stable) | 80% |
| Test | Sales Agent | Draft (new prompt) | 20% |
Filtering by Version
Published versions integrate with monitoring and analytics:- Monitor > Calls: filter the call list by version number to see only calls handled by a specific version
- Monitor > Analytics: version filter available on dashboards to compare performance across versions
Best Practices
Publish before deploying to production
Publish before deploying to production
Always publish a version and pin it to your production number before going live. This ensures calls are not affected by subsequent edits to the draft.
Use descriptive version names
Use descriptive version names
Names like “V1” are less useful than “Added appointment booking tool” or “French prompt rewrite”. A good name tells you what changed without opening the snapshot.
Compare versions via call analytics
Compare versions via call analytics
After deploying a new version, use the version filter in Analytics to compare metrics (call duration, sentiment, automation rate) between the old and new versions.