<Transcription>
Live transcription of the call, delivered to your webhook while the document keeps executing.
Example
<Response>
<Start>
<Transcription statusCallback="https://app.example.com/transcripts"
partialResults="true" track="both_tracks"/>
</Start>
<Dial>+18005551234</Dial>
</Response>
Attributes
| Attribute | Default | Behaviour |
|---|---|---|
name |
unset |
Operator-friendly identifier for the session, echoed on every callback as Name. |
languageCode |
en-US |
BCP-47 language tag passed to the transcription engine. |
transcriptionEngine |
account default |
Selects the transcription engine (case-insensitive): deepgram, google, aws, or azure. Unknown values fall through to the account default. |
partialResults |
false |
true also delivers interim transcripts to the status callback; the default delivers final transcripts only. |
track |
both_tracks |
Which audio to transcribe: inbound_track, outbound_track, or both_tracks. Passed to the engine as a hint; engine support varies. |
statusCallback |
unset |
URL receiving transcript content and lifecycle events as form-encoded requests. |
statusCallbackMethod |
POST |
HTTP method for status callbacks. |
statusCallbackEvent |
all events |
Comma-separated filter: transcription-started, transcription-content, transcription-stopped, transcription-error. Omit to receive all. |
hints |
unset |
Passed through to the engine to bias recognition. |
profanityFilter |
unset |
Passed through to the transcription engine. |
Notes
- Callback fields: CallSid, TranscriptionEvent, Transcript, Confidence (0-1, four decimal places), Language, IsFinal (true for final, false for interim), plus Name and Track when set.
- Unlike speech-mode <Gather> (listen once, then return), <Start><Transcription> runs long-lived and in parallel with the rest of the document.
- One active transcription per call: a second <Start><Transcription> replaces the first. <Stop><Transcription/> ends it early; otherwise it ends at hangup.