Webhook Configuration
To enable conversation ended webhooks:- Use the Enable Conversation Ended Webhook API endpoint
- Provide your webhook URL where notifications will be sent
- Optionally configure post-call variables on your assistant to extract structured data from conversations
Request Format
The webhook is sent as a POST request to your configured URL with the following JSON payload:Payload Structure
Unique identifier (UUID) of the conversation
Unique identifier (UUID) of the assistant that handled the conversation
The type of conversation. Possible values:
widget, whatsappTotal number of messages exchanged in the conversation
Status of the conversation. Value:
endedVariables extracted by AI based on your assistant’s post-call schema configuration
Variables that were passed to the assistant at the start of the conversation (e.g., from pre-chat form fields or automation flows)
Array of message objects representing the full conversation
Human-readable formatted transcript with
AI: and Customer: prefixesCustomer phone number (available for WhatsApp conversations,
null for widget conversations)Customer name if provided (e.g., from pre-chat form), or
nullWhatsApp sender information (only present for WhatsApp conversations,
null for widget)ISO 8601 timestamp when the conversation started (in the user’s configured timezone)
ISO 8601 timestamp when the conversation ended (in the user’s configured timezone)
Retry Behavior
If your webhook endpoint returns a non-2xx status code or the request fails, the system will retry:| Attempt | Delay |
|---|---|
| 1st retry | 30 seconds |
| 2nd retry | 60 seconds |
| 3rd retry | 120 seconds |
Important Notes
- The
conversation_idandassistant_idare UUIDs, not integer IDs - The
senderfield is only populated for WhatsApp conversations — it will benullfor web widget conversations - The
customer_phoneis only available for WhatsApp conversations - The
customer_namecomes from pre-chat form data or conversation context - Timestamps use the user’s configured timezone (ISO 8601 format)
- The
extracted_variablesare populated from your assistant’s post-call schema evaluation - The
input_variablescontain data from pre-chat forms (web widget) or automation flows

