> For clean Markdown of any page, append `.md` to the page URL.
> For a complete documentation index, see https://docs.sarvam.ai/llms.txt.
> For full documentation content in one file, see https://docs.sarvam.ai/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.sarvam.ai/_mcp/server.

# Releases

> Release notes for Voice Agents: what shipped in each release, what changed, and links to the docs for every new capability.

Release notes for the Voice Agents platform: what shipped, what changed, and links to the docs for every new capability.

Request a feature

Platform-wide updates that span multiple products (model releases, pricing changes, deprecations) live in the [Changelog](/changelog). This page covers Voice Agents specifically.

## September 2026

### Saaras V4 generally available

**September 2, 2026** — [`saaras:v4`](/api/getting-started/models/saaras) is now live on Voice Agents and generally available.

Saaras V4 is Sarvam's latest speech-recognition model. It keeps everything that made V3 the workhorse of the stack and extends English recognition beyond Indian English (`en-IN`) to **Global English** accents:

* **Global English**: understands non-Indian English accents on top of Indian English, for international callers and mixed-accent calls.
* **State-of-the-art on all 22 Indian languages**: SOTA performance across every Indic language V3 covered, reaffirming our commitment to even the most low-resource Indian languages.
* **Lowest WER on global English benchmarks**: achieves the lowest word error rate on seven global English datasets — six foreign English dialects and one Indian English.
* **Robust to real-world audio**: handles noisy audio and code mixing, with seamless dialectical variation.
* **Best-in-class language identification**: a 2.9% error rate across the top ten Indian languages, and 5.22% across all 22.

Voice Agents routes to Saaras V4 automatically; there is no configuration change on your side. See the [Saaras model page](/api/getting-started/models/saaras) for the full feature list, output-mode examples, and API limits.

### Call transfer

**September 2, 2026** — A voice agent can now hand a live phone call to a human, another number, or your own SIP trunk when the conversation needs it - an escalation, a specialist, or an explicit request to speak to someone.

* Configured as **Call forwarding** under **Settings → In Call Actions**, with a fixed destination or an [agent variable](/conversations/build/variables-personalization) resolved at runtime.
* Destinations: **Phone number (PSTN)** in E.164, or a **SIP URI**.
* Supported end to end on [Vobiz](/conversations/deploy/telephony/vobiz) (including numbers from [Rent from Sarvam](/conversations/deploy/telephony/rent-from-sarvam)).
* Transferred calls show **End Reason** `CALL_TRANSFER` in [Call Logs](/conversations/monitor/agent-analytics/call-logs), with the transfer status and the recording of the transferred leg.

See [Call transfer](/conversations/build/tools/call-transfer).

### Inbound webhooks

**September 2, 2026** — Inbound deployments can now POST a call-completion event to your webhook endpoint after every inbound call, with the transcript, duration, agent variables, and the caller's phone number. Configure it with the deployment's `webhook_config`.

* **Payload**: caller and agent phone numbers, duration, start/end timestamps, final and output agent variables, and the full transcript with per-turn Indic text. See the [Deployments webhook payload](/conversations/api/deployments/webhooks/webhook-payload) reference.
* **Delivery records**: every POST attempt is recorded with a status (`running`, `completed`, `failed`), listable via [List webhook deliveries](/conversations/api/deployments/webhooks/list).
* **Retries**: re-deliver up to 200 attempts per request via [Retry webhook deliveries](/conversations/api/deployments/webhooks/retry). For inbound calls, the delivery `attempt_id` is the call's `interaction_id`.

See [Webhooks](/conversations/deploy/inbounds#webhooks) under Inbounds.

## August 2026

### Phone number rotation

**September 1, 2026** — Agent campaigns can now rotate caller IDs on retries. With **Phone number rotation** enabled, every subsequent call to the same user uses a different agent number until each number in the pool has been used once for that user — so a contact who didn't answer +91-111 gets the retry from +91-222 or +91-333, not the same number again. Requires two or more agent numbers on the campaign.

Enable it from the **Phone number rotation** toggle under **Advanced** on the Schedule step of the [campaign wizard](/conversations/deploy/campaigns/create-campaign#phone-number-rotation), or set `phone_rotation.agent: true` in `app_config` via the [Create campaign](/conversations/api/campaigns/create) or [Update campaign](/conversations/api/campaigns/update) API.

### Outbound webhooks

**August 20, 2026** — Campaigns can now POST an event to your webhook endpoint as each call finishes, whether or not the call connected. Set the **Webhook URL** in the campaign wizard's **Advanced** step.

* **Payload**: call outcome, connectivity status, retry metadata, start/end timestamps, initial/final/output agent variables, and the transcript. See the [Campaigns webhook payload](/conversations/api/campaigns/webhooks/webhook-payload) reference.
* **Output agent variables**: the payload carries the [output variables](/conversations/build/variables-personalization#output-variables) extracted from the call — call disposition, next steps, and anything else you defined — so your CRM or downstream systems get the structured outcome without a separate analytics API call.
* **Delivery records**: every POST attempt is recorded with a status (`running`, `completed`, `failed`), listable via [List webhook deliveries](/conversations/api/campaigns/webhooks/list).
* **Retries**: re-deliver up to 200 attempts per request via [Retry webhook deliveries](/conversations/api/campaigns/webhooks/retry).

See [Webhooks](/conversations/deploy/campaigns#webhooks) under Campaigns.

### Call-context variables in API tools

**August 20, 2026** — API tools can now receive live call context as variables. In the tool editor, select **User Identifier** to pass the caller's phone number, and **Call Transcript**, **Interaction ID**, and **Call Length** to pass the full conversation transcript, the unique interaction ID, and the call's duration. These are available alongside [agent variables](/conversations/build/variables-personalization) — visible in the platform UI and fetchable via the APIs.

Previously, tools had no way to reference the caller's phone number or the running transcript mid-call; caller identification depended on the analytics API, which only lists calls after they end.

### Max call length raised to 60 minutes

**August 20, 2026** — The **Max call length** limit in [conversation settings](/conversations/build/conversation-settings#max-call-length) was raised from **25 to 60 minutes**. When the limit is reached, the agent still wraps up and hangs up.

This unlocks long-form voice use cases that previously didn't fit in a single call:

* **Employee training and roleplay** — full onboarding sessions, compliance walkthroughs, and simulated customer conversations
* **Long tutorials and guided walkthroughs** — step-by-step product or process guidance without the call cutting off mid-way
* **Extended support and advisory conversations** — troubleshooting, counseling-style check-ins, and long discovery calls

### Streaming cohorts (JSON cohort uploads)

**August 15, 2026** — Cohort uploads now support JSON via the [Stream cohort](/conversations/api/campaigns/cohorts/stream) API, for tech-forward teams that want to add contacts programmatically instead of uploading a CSV in the dashboard. Send up to 1,000 users per request, and add contacts to a campaign while it's running — they queue to dial within the current schedule.

This unlocks use cases where cohorts arrive continuously throughout the day and each contact needs multiple calls — cart recovery, lead follow-up, payment reminders — without batch CSV exports in between. Typical integrations: push leads from Salesforce, HubSpot, Zoho, or your own database; trigger calls from webhooks and internal workflows.

See [Cohorts](/conversations/deploy/campaigns/cohorts#stream-cohort-via-api).

### Code Tools

**August 15, 2026** — Upload a custom Python file to define tools that go beyond the built-in API and data-validation tools. Code Tools run inside the agent's tool loop like any other tool. Available on request — [contact us](mailto:developer@sarvam.ai) to get access.

See [Code Tools](/conversations/build/tools/code-tools).

### Agent Analytics generally available

**August 13, 2026** — The new Agent Analytics view is now generally available. Open **Monitor → Agent Analytics** for a period-level health check of your voice agents across eight tabs — **Overview**, **Connectivity**, **Engagement**, **Tools**, **Goals**, **Group by**, **Call Logs**, and **Log Analyser**:

* **Overview** — KPI tiles (calls attempted, pick-up rate, latency, average duration, total billable minutes, short calls, goal achievement), a trend chart with day/week/month/quarter granularity, a call-outcomes donut, top failure reasons, and an agent/campaign rollup table.
* **Tools** — tool error tracking: six tiles (calls, tools invoked, errors, error rate, p50, p95), an error-type breakdown ranked by frequency, and a per-tool table that flags anything above a \~5% error rate.
* **Goals** — one goal per agent (voice only): calls scored passed/failed/unevaluated, average turns to goal, and conversion insights broken down by language, time of day, TTS voice, and intro message.
* **Call Logs** — every call with `attempted_at` timestamps, call-forwarding analytics, and turn-level drill-down via [Log Analyser](/conversations/monitor/agent-analytics/log-analyser).

See [Agent Analytics](/conversations/monitor/agent-analytics/overview).