MeetStream Guide: Live Transcription (Streaming) via Webhook
MeetStream Guide: Live Transcription (Streaming) via Webhook
MeetStream Guide: Live Transcription (Streaming) via Webhook
This guide explains how to enable live (real‑time) transcription for a MeetStream bot using:
deepgram_streamingassemblyai_streaming
You will receive streaming transcription updates on your webhook URL while the bot is in the meeting.To use live transcription you must provide:
live_transcription_required.webhook_url in your create bot payload.recording_config.transcript.provider.Tip: For local testing, use ngrok or cloudflared to expose your local webhook to the internet.
live_transcription_required to your bot payloadIn your Create Bot request body:
This is the endpoint where MeetStream will POST live transcription events.
assemblyai_streaming)deepgram_streaming)Use exactly one provider in
recording_config.transcript.provider.
MeetStream will POST live transcription updates to:
{{webhook_url}}/webhook
Example payload:
bot_id — use this to map to your session/meeting.speakerName / speaker — speaker label (if available).new_text — incremental update (useful for streaming UI).transcript — current transcript buffer (can be partial).words[] — word-level timings + confidence.word_is_final — if false, treat as interim (may change).end_of_turn — can be used to “commit” a phrase/segment.custom_attributes — echoed from your Create Bot payload (useful for correlation).Your webhook should respond 2xx quickly (e.g., 200 OK) to avoid timeouts.
Common approaches:
new_text when word_is_final=true, or only commit when end_of_turn=true.end_of_turn=true (less noisy).Webhooks can occasionally arrive close together. Consider de-duping with:
{bot_id, timestamp, new_text} orNo live transcription arriving?
live_transcription_required.webhook_url is reachable publicly (try curl)./webhook).Getting payloads but UI looks “jumpy”?
word_is_final=false as interim.end_of_turn=true or word_is_final=true.