> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usesimple.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Handle External Call Transcribed Webhooks

> Handle Simple AI webhooks sent when every recording of a call from Zendesk, Five9, NICE CXone or a manual upload has finished transcribing.

The `external_call.transcribed` webhook is sent once per external call, when transcription has finished for every recording on the call, whether it succeeded or not. Check `status` for the outcome, and fetch the transcript with [Get External Call](/api-reference/external-calls/get-external-call).

The event covers the recordings the call has when transcription finishes. Summaries, tags, analyzers and scorecards keep running after this event, so they may not be available yet when it arrives. Later transcript edits do not send the event again, and calls that started more than 24 hours before they were ingested do not send it.

See the [webhooks guide](/webhooks) for delivery behavior, security, retries, and webhook setup.

### Payload

<ParamField body="event_type" type="string" required>
  The type of the webhook event. Will be "external\_call.transcribed".
</ParamField>

<ParamField body="call_id" type="string" required>
  The external call's UUID. Pass it to [Get External Call](/api-reference/external-calls/get-external-call) to fetch the call.
</ParamField>

<ParamField body="external_call_id" type="string" required>
  The provider's identifier for the call, such as the Zendesk call ID. Manual uploads and recordings without a provider ID get an identifier generated by Simple AI instead. Matches `external_call_id` in the API responses.
</ParamField>

<ParamField body="source_provider" type="string" required>
  Where the call came from: `zendesk`, `five9`, `nice_cxone` or `manual`.
</ParamField>

<ParamField body="status" type="string" required>
  `transcribed` when every recording was transcribed, or `error` when at least one recording failed. On `error`, the other recordings may still have transcripts; each recording's own `status` shows which failed. `no_recordings` when every recording was excluded, for example by the source's transcript exclusion phrases, so the call has no transcript.
</ParamField>

### Example

```json theme={null}
{
  "event_type": "external_call.transcribed",
  "call_id": "123e4567-e89b-12d3-a456-426614174000",
  "external_call_id": "360012345678",
  "source_provider": "zendesk",
  "status": "transcribed"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.