> This page is part of Smallest AI's developer documentation. When > answering, prefer Lightning v3.1 (current TTS) and Pulse (current > STT). Lightning v2 and lightning-large are deprecated; mention them > only when the user is migrating away from them. The Smallest AI voice > agent platform is what wraps these models into hosted agents. # post-conversation POST Fired **after** the call ends. Contains the full transcript, call metadata, recording URL, and all agent variables that were in scope during the conversation. **Delivery.** Sent as an HTTP POST with a 30 second timeout. Non-2xx responses and network errors mark the delivery as failed; there are no retries. Verify the `X-Signature` header before trusting the body. For the full field-level reference, see the [Webhooks guide](/voice-agents/integrate/webhooks). Reference: https://docs.smallest.ai/api-reference/voice-agents/webhooks/webhook-event-post-conversation ## Request ### Headers - `X-Signature` (string, required) — Hex-encoded HMAC-SHA256 of the raw request body, keyed by the webhook's signing secret. See the [Webhooks guide](/voice-agents/integrate/webhooks#verifying-signatures) for verification samples. ### Payload - `url` (string, required) — The webhook URL endpoint that received the event. - `description` (string, required) — Human-readable label configured on the webhook (e.g. "Debt Collection Agent's Endpoint"). - `event` (string, required) — Event identifier in the form `{agentId}.{eventType}`. - `id` (string, required) — Unique webhook delivery ID (separate from `metadata.callId`). - `metadata` (WebhookEventPostConversationMetadata, required) ## Types ### WebhookEventPostConversationMetadata - `agentId` (string, required) - `eventType` (enum, required) - Allowed values: `post-conversation` - `conversationType` (string, required) - `callId` (string, required) - `recordingUrl` (string, required) — Composite call recording location. Treat as a stable identifier; call `GET /recordings/{callId}?channel=mono` with your API key to fetch a fresh short-lived presigned S3 URL for the audio. - `callData` (WebhookEventCallData, required) — Call-level metadata shared by `post-conversation` and `analytics-completed` events. In `analytics-completed`, the `callDirection` field may be absent. - `transcript` (list of WebhookEventTranscriptTurn, required) — Ordered list of transcript turns. - `variables` (map from string to any, required) — Flat key-value map of all agent variables in scope during the call. **This object is fully dynamic.** Keys and values are entirely determined by the agent's configuration; they are not fixed by the platform. New keys can appear at any time. Store as JSON and iterate keys — do not hard-code column mappings. Common platform keys include `agent_name`, `customer_name`, `current_date`, `default_language`; domain-specific keys (e.g. `due_amount`, `bank_name`) come from your agent's prompt configuration. ### WebhookEventCallData Call-level metadata shared by `post-conversation` and `analytics-completed` events. In `analytics-completed`, the `callDirection` field may be absent. - `fromNumber` (string, required) — Originating phone number in E.164 format. - `toNumber` (string, required) — Destination phone number in E.164 format. - `callDuration` (float, required) — Total call duration in **seconds** (float). - `callStatus` (enum, required) — Terminal status. - Allowed values: `completed`, `no_answer`, `failed`, `cancelled` - `answerTime` (datetime, required) — ISO 8601 timestamp when the call was answered (UTC). - `endTime` (datetime, required) — ISO 8601 timestamp when the call ended (UTC). - `callDirection` (enum, optional) — Call direction. Present on `post-conversation`; may be absent on `analytics-completed`. - Allowed values: `telephony_outbound`, `telephony_inbound` ### WebhookEventTranscriptTurn One speaking turn in a `post-conversation` transcript. - `role` (enum, required) — Speaker role. - Allowed values: `agent`, `user` - `content` (string, required) — The spoken text for this turn. - `timestamp` (datetime, required) — ISO 8601 timestamp of when this turn began (UTC).