How to Set Up and Use Webhooks in Speak AI
Overview
Webhooks let you receive real-time notifications from Speak AI whenever something happens in your account, like a transcription completing or an analysis finishing. This lets you automatically trigger actions in your own systems without polling our API.
Setting up a webhook
Go to Developers > Webhooks in your dashboard
Click + Add webhook
Enter your Endpoint URL (the HTTPS URL on your server that will receive notifications)
Add a Description (optional)
Select the Events to send (see list below)
Click Save
Available events
Media events:
media.created- A new media file was uploadedmedia.analyzed- Transcription and analysis completedmedia.reanalyzed- Media was re-analyzedmedia.failed- Processing failedmedia.deleted- Media was deleted
Text events:
text.created,text.analyzed,text.reanalyzed,text.failed,text.deleted
Recorder events:
embed_recorder.created,embed_recorder.deleted,embed_recorder.recording_received
Webhook payload
Each webhook sends a POST request with a JSON payload. The media.analyzed event provides the most complete data, including:
Transcript and insights in the
insightobjectQuestion/answer responses (from AI Chat or Recorder) in the
metaDatafieldDirect MP3 link in the
sourceUrlormediaUrlfield (may be a temporary signed URL)
Example payload structure:
{ "eventType": "media.analyzed", "mediaId": "...", "data": { "insight": { ... }, "sourceUrl": "https://.../file.mp3", "metaData": { ... } }}
Troubleshooting
Not receiving data? Make sure your endpoint returns a
200 OKstatus immediately. Slow responses cause timeouts and retries.Missing question answers? Listen to the
media.analyzedevent (notmedia.created). Answers are only available after analysis completes.No MP3 link? Check the
sourceUrlfield in the payload. Some URLs are temporary signed URLs that expire after a period.
For API documentation, visit docs.speakai.co. Need help? Send us a message.
