WhatsApp Calling Transcription Updated Webhook Examples

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.