Skip to main content
The Post-Call Webhook is automatically sent to your specified webhook URL after each call is completed. This webhook contains call details, extracted variables, transcript, and optionally the recording URL.

Webhook Configuration

To enable post-call webhooks:
  1. Configure your assistant’s webhook URL in the assistant settings
  2. Enable “Post call webhook” in the assistant configuration
  3. Define post-call variables that the AI should extract

Request Format

The webhook is sent as a POST request to your configured URL with the following JSON payload:
Using one webhook URL for several assistants? Every payload carries assistant_id (UUID), assistant_name, and type, so you can route each call without configuring a separate endpoint per assistant.

Payload Structure

integer
Unique identifier of the call
string
Channel and direction of the call. One of inbound, outbound, web (browser widget voice call), whatsapp_inbound, or whatsapp_outbound
string
Unique identifier (UUID) of the assistant that handled the call
string
Name of the assistant that handled the call, as shown in the dashboard
string
Phone number of the customer in E.164 format (e.g., “+1234567890”) or null if not available
string
Phone number used by the assistant in E.164 format or null if not available
integer
Duration of the call in seconds
string
Final status of the call (e.g., “completed”, “busy”, “failed”)
object
Variables extracted by AI based on your post-call schema configuration
object
Variables that were passed to the assistant before the call started
array
Full transcript of the call, ordered oldest to newest. Note that this is a different shape from the conversation ended webhook, which uses role and content
string
The same conversation as a ready-to-read string, with AI: and Customer: prefixes and one turn per line. Use this when you just need readable text and do not want to iterate the array
string
URL to download the call recording (only included if “Include recording in webhook” is enabled in assistant settings)
string
ISO 8601 timestamp when the call was initiated
string
ISO 8601 timestamp when the call was completed (uses updated_at from the call record)
object
Lead information (only included for campaign calls)
array
List of transfer calls made during this call (only included if the call has transfers)

Webhook Settings

You can configure the following options for your post-call webhook:
  • Send webhook only on completed: Only send the webhook for successfully completed calls
  • Include recording in webhook: Include the recording_url field in the payload
  • Custom variables: Define custom variables that the AI should extract from the conversation

Important Notes

  • The type field tells you both the channel and the direction of the call. Text conversations (web widget chat, WhatsApp messages) never arrive here — they use the conversation ended webhook instead. Completed WhatsApp voice calls do arrive here, as whatsapp_inbound or whatsapp_outbound
  • The assistant_id is the assistant’s UUID, the same identifier used by the other webhooks and by the API — not the numeric id shown in the dashboard URL
  • The customer_phone and assistant_phone fields can be null if the information is not available
  • The recording_url field is only included if you have enabled “Include recording in webhook” in your assistant settings
  • The lead object is only included for calls that are part of a campaign
  • The transfers array is only included for calls that have transfer calls associated with them
  • The extracted_variables object will contain the variables you defined in your assistant’s post-call schema configuration