> This page is for APIs.

> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes.

# Live transcription conversation log webhook

POST 

Sent once to the `webhook` URL of a [`live_transcribe`](/docs/swml/reference/calling/live-transcribe)
`start` action when the session ends, whether you stopped it or the call ended. It carries the
full transcript, session totals, and the AI summary when `ai_summary` is `true`.
`channel_data.content_disposition` is `transcribe.conversation_log`.

Reference: https://signalwire.com/docs/apis/rest/webhooks/live-transcribe-conversation-log-webhook

## Request

### Payload

- `call_info` (Webhooks.AI.AICallInfo, required) — Identifies the call. `project_id` and `space_id` are included when available. Its `content_disposition` is always `post_data`; read `channel_data.content_disposition` to tell the events apart.
- `channel_data` (Webhooks.Calling.LiveTranscribeChannelData, required) — Identifies the call and the event. `content_disposition` is `transcribe.conversation_log`.
- `conversation_log` (list of Webhooks.Calling.LiveTranscribeLogEntry, required) — Every utterance transcribed in the session, in order.
- `metrics` (Webhooks.Calling.LiveTranscribeMetrics, required) — Totals for the session.
- `conversation_summary` (string, optional) — The AI summary of the whole conversation. Included when you started the session with `ai_summary` set to `true` and a summary was produced.

## Types

### Webhooks.AI.AICallInfo

Identifies the call an AI callback came from. `project_id` and `space_id` are included when available.

- `call_id` (string, required) — ID of the call.
- `content_type` (string, required) — The content type of the POST body. Always `text/json`.
- `content_disposition` (string, required) — How the body is delivered. Always `post_data`.
- `conversation_type` (string, required) — The conversation type. Always `voice`.
- `project_id` (string, optional) — Your project ID.
- `space_id` (string, optional) — Your Space ID.

### Webhooks.Calling.LiveTranscribeChannelData

Identifies the call and the event. Read `content_disposition` to tell the three live transcription events apart, since they all arrive at the same `webhook` URL.

- `content_type` (enum, required) — The content type of the POST body. Always `text/json`.
  - Allowed values: `text/json`
- `content_disposition` (enum, required) — Which event this is: - `transcribe.utterance`: one utterance was transcribed. - `transcribe.live_summarize`: the summary you requested with the `summarize` action. - `transcribe.conversation_log`: the transcription session ended.
  - Allowed values: `transcribe.utterance`, `transcribe.live_summarize`, `transcribe.conversation_log`
- `call_id` (string, required) — ID of the call being transcribed.
- `project_id` (string, optional) — Your project ID. Included when available.
- `space_id` (string, optional) — Your Space ID. Included when available.
- `call_start_date` (long, optional) — When the call was created, as a Unix timestamp in microseconds.
- `call_answer_date` (long, optional) — When the call was answered, as a Unix timestamp in microseconds. `0` if it hasn't been answered.
- `call_end_date` (long, optional) — When the call ended, as a Unix timestamp in microseconds. `0` while the call is still up.
- `caller_id_name` (string, optional) — The caller's name. Included when the call has one.
- `caller_id_number` (string, optional) — The caller's number. Included when the call has one.
- `SWMLVars` (WebhooksCallingLiveTranscribeChannelDataSwmlVars, optional) — SWML variables for the call. Included when the call carries SWML state.
- `SWMLCall` (WebhooksCallingLiveTranscribeChannelDataSwmlCall, optional) — SWML call state. Included when the call carries SWML state.

### Webhooks.Calling.LiveTranscribeLogEntry

One utterance in the conversation log, in the order it was spoken.

- `role` (enum, required) — Which side of the call spoke.
  - Allowed values: `remote-caller`, `local-caller`
- `content` (string, required) — The transcribed text.
- `confidence` (double, optional) — The speech engine's confidence in the transcription, from `0` to `1`. Omitted when it's `0` or the speech engine didn't report one.
- `language` (string, optional) — The transcription language.

### Webhooks.Calling.LiveTranscribeMetrics

Totals for the whole session. The counts are `0` when nothing was transcribed.

- `total_utterances` (integer, required) — The number of utterances transcribed.
- `remote_caller_turns` (integer, required) — The number of utterances from the `remote-caller` side.
- `local_caller_turns` (integer, required) — The number of utterances from the `local-caller` side.
- `remote_caller_words` (integer, required) — The number of words spoken on the `remote-caller` side.
- `local_caller_words` (integer, required) — The number of words spoken on the `local-caller` side.
- `first_utterance_ts` (long, optional) — When the first utterance was transcribed, as a Unix timestamp in microseconds. Omitted when nothing was transcribed.
- `last_utterance_ts` (long, optional) — When the last utterance was transcribed, as a Unix timestamp in microseconds. Omitted when nothing was transcribed.
- `remote_caller_avg_confidence` (double, optional) — The average confidence on the `remote-caller` side. Omitted when no utterance on that side had a confidence above `0`.
- `local_caller_avg_confidence` (double, optional) — The average confidence on the `local-caller` side. Omitted when no utterance on that side had a confidence above `0`.

### WebhooksCallingLiveTranscribeChannelDataSwmlVars

SWML variables for the call. Included when the call carries SWML state.

### WebhooksCallingLiveTranscribeChannelDataSwmlCall

SWML call state. Included when the call carries SWML state.