The whatsapp.call.transcription.updated webhook is sent when the transcription of an API-sourced WhatsApp call becomes available or permanently fails.
Use the mediaAssetId with GET /v2/whatsapp/calls/media/{mediaAssetId} to download the complete transcription JSON when its status is AVAILABLE.
The error object is included only when the status is FAILED.
Transcription Available
{
"id": "evt_call_transcription_01JZ8K5A9C4D7E0F3G6H9J2K5N",
"type": "whatsapp.call.transcription.updated",
"apiVersion": "v2",
"createTime": "2026-08-04T08:01:00.000Z",
"callingTranscription": {
"wacid": "wacid.HBgNNjI4MTM2MTkwNTEzMxUCABE",
"phoneId": "461269257068832",
"mediaAssetId": "66b1f0d9e4b05c2d8f1a3b48",
"status": "AVAILABLE"
}
}Transcription Failed
{
"id": "evt_call_transcription_01JZ8K5A9C4D7E0F3G6H9J2K5M",
"type": "whatsapp.call.transcription.updated",
"apiVersion": "v2",
"createTime": "2026-08-04T08:01:30.000Z",
"callingTranscription": {
"wacid": "wacid.HBgNNjI4MTM2MTkwNTEzMxUCABE",
"phoneId": "461269257068832",
"mediaAssetId": "66b1f0d9e4b05c2d8f1a3b48",
"status": "FAILED",
"error": {
"code": "CALLING_TRANSCRIPTION_PROCESSING_FAILED",
"retryable": false
}
}
}The webhook id remains stable when the same event is retried. Use it as the idempotency key when processing webhook deliveries.
