Transcription operations
This page is the operator’s companion to Live call transcription. That page explains what the feature is and how failover behaves; this one shows you how to turn it on, watch it work, and get paged when it does not.1. Turning it on
Live transcription is a workspace-level voice setting, not a per-call flag you set on each dial.- Open Settings → Voice.
- Enable live transcription for Classic and outbound calls. Once enabled, every eligible call streams speech to the platform-managed STT chain and begins emitting transcript events.
- If you supply your own speech key, register it under Settings → Voice → Speech-to-text (BYO) instead. Section 5 covers what changes when you do.
- Classic calls (inbound through queues, ring groups, IVR, forwarding) start transcribing when the call connects.
- Outbound calls (dialer and direct outbound) start transcribing the same way, when the call connects.
2. Reading the transcript
During the call
While a call is live, the partial and final transcript is available two ways:-
The voice console. Open the in-progress call; the live transcript panel renders interim (partial) frames as the caller speaks and replaces them with final frames as each utterance completes. Interim text is provisional — it can change as the recognizer refines a phrase; only a
finalframe is stable. -
The live transcript stream. Subscribe a client to the per-call server-sent-events endpoint:
Each event is a transcript frame:
type—partial(interim, replaceable) orfinal(the utterance is complete; this text will not change).speaker—agentorcustomeron a diarized two-party call.text— the transcribed text for this frame.ts— epoch-milliseconds timestamp of the frame.confidence— recognizer confidence from 0 to 1, present when the vendor reports one.
?token=query parameter when calling this endpoint from a browser.
After the call
When the call ends, the finalized transcript is attached to the call record and appears in two places:- Call detail — the transcript with its speaker turns, plus (when generated) the AI call summary and sentiment.
- The recording library — the call’s row carries a
transcription_statusofpending,processing,complete,failed, orskipped, and the finalized diarized segments are searchable once transcription completes. See Searchable recording and transcript library.
call.transcript_ready webhook fires when the post-call transcript is persisted, so your own systems can pull it without polling — see section 7.
3. Latency and quality
How far behind the speaker does the transcript run? That depends on which provider family is serving the stream.
Whisper as a backup. Whisper is the validated fallback for the on-demand, post-call path (transcribe a finished recording) — it is proven in that role. It is deliberately skipped for the live path: a live call cannot hand a mid-utterance stream to a batch recognizer, so the live failover chain walks past Whisper to the next streaming-capable vendor. Do not plan on Whisper as a live-transcription backup — plan on a second streaming vendor.
The 4 MB replay buffer. When a provider fails before the first transcript, the platform replays the buffered opening audio into the fallback so the caller’s first words are not lost. That buffer is capped at 4 MB to bound memory use per call. In practice 4 MB covers well over a minute of call audio, so the cap only matters on a call where the opening failure stretches past that point — if the buffer fills, replay is disabled for that call and transcription effectively starts fresh from the fallback’s first live audio. The 4 MB value is a per-call ceiling, not a quota you manage.
4. Language routing
The platform builds the STT chain once at boot in a fixed construction order (Deepgram first, then Whisper, Azure, Google), then reorders it per call based on the call’slanguage value. Reordering never removes a provider — it only moves providers that declare support for the language to the front and pushes the rest behind them, so the chain degrades to “try it anyway eventually” rather than dropping a vendor.
Matching is on the primary language subtag: a region tag like es-MX reduces to es, and pt-BR reduces to pt. An unset language or the value multi (code-switching mode) leaves the chain in its original order.
Worked example, with all four providers provisioned and a default chain of Deepgram → Whisper → Azure → Google:
languageunset, ormulti— Deepgram stays first. Its multilingual set covers the common Latin-alphabet languages, so no reorder happens.language: es-MX— reduces toes, which Deepgram supports. Deepgram stays first; the chain is effectively unchanged.language: ko(Korean) — Deepgram does not declare Korean, so it moves behind the providers that declare broad coverage. The attempt order becomesWhisper → Azure → Google → Deepgram: the first try lands on a vendor that claims the language instead of paying a near-guaranteed miss against Deepgram on every call.
language on the call to a BCP-47 tag; routing handles the subtag reduction. You do not pick a provider — you declare the language, and the chain orders itself around it.
5. Customer-managed credentials
If you supply your own speech-to-text key (BYO, registered under Settings → Voice → Speech-to-text), your transcription runs inside that credential’s route boundary. The practical consequence:- Your calls transcribe through your key only. The platform-managed failover chain does not take over your route, add its providers to it, or move the call to a platform credential mid-call.
- Failover and recovery follow your own provider’s behavior, not the platform chain’s. If your vendor fails, recovery is whatever your credential’s path does — the platform does not substitute a different vendor for you.
- Your key does not change the platform chain for anyone else: boot-time provider availability and the chain’s fixed order are governed by platform-provisioned credentials, not tenant keys.
6. Failure walkthrough
Each failure class fires at a different point and surfaces differently. The rule underneath all four: a failure before the first transcript replays buffered audio into a fallback; a failure after the first transcript switches forward with no replay. Some speech at the moment of the switch may not be transcribed — that is the intended boundary, and the alternative (replaying consumed audio) would double-count transcript text.Pre-transcript failure
Reconnect-exhaustion (mid-call)
Other mid-call error
One-shot (post-call) transcription failure
transcription_status reads failed.
7. Alerting and monitoring
Subscribe to the call-level webhook so your systems are told the moment a transcript is ready or missing, and watch the pipeline states for calls that never complete. Webhooks to subscribe to (see Webhook event payloads):call.transcript_ready— fires when the post-call transcript is persisted. Carriescall_id,contact_id,direction,duration_sec,sentiment,sentiment_score,keywords, atranscript_snippet, andanalyzed_at. Use it to pull the full transcript into your CRM or warehouse without polling.
transcription_statuson the recording library — a rising count offailedrows is your primary provider-degradation signal. Filter the library bytranscription_status: failedto triage recordings that never transcribed;pendingorprocessingrows that never advance point to a stalled pipeline.- Post-call transcribe API failures — the on-demand transcribe endpoint returns
502when every provider in the chain failed, and503when no provider is configured at all. A sustained rate of these, or of502naming a single provider, is the alert condition for a vendor outage. - Live-transcript stream health — if your integration consumes the per-call SSE stream, a stream that opens and delivers no frames for the length of a connected call is a symptom of a live-path provider failure (section 6, reconnect-exhaustion or other-error classes).
Related reading
- Live call transcription — the feature model, provider chain, and failover rules this page operationalizes.
- Live-call speech failover — the reconnect-exhaustion switch in detail.
- Searchable recording and transcript library — the
transcription_statussurface and transcript search. - STT Playground — compare vendors and confirm which are provisioned on your workspace.
- Voice gateway: the realtime AI-voice media edge — the separate AI-agent speech pipeline.
- Troubleshooting transcription and synthetic-voice failures — provider error codes and recovery steps.