Skip to main content
Webhooks can send your recordings on any calls made from the AI. Only Recordings are currently supported on Webhooks

Webhooks setup

To set up Webhooks, go to Settings > Webhooks in the Dashboard. Add the webhook URL you would like to receive events for.

Responding to Recording Events

Webhook events are sent via POST according to the JSON:API specification. All attributes of recordings are included in the payload. All call statuses and campaigns (not including test calls) are sent through the webhook, so you will need to filter the webhooks you need from your end. Example recording event from webhook:
{
  "id": "string",  // Unique identifier for the call record
  "minutes_used": "integer",  // Number of minutes used in the call
  "call_sid": "string",  // Unique identifier for the call session
  "recording_attachment": "string",  // URL to the recording attachment
  "campaign": "string | null",  // Campaign ID associated with the call (nullable)
  "customer": {
    "details": {
      "id": "string",  // Unique identifier for the customer
      "first_name": "string",  // First name of the customer
      "last_name": "string",  // Last name of the customer
      "phone_number": "string",  // Phone number of the customer
      "gender": "string",  // Gender of the customer
      "email": "string | null",  // Email address of the customer (nullable)
      "type": "string | null",  // Type of customer (nullable)
      "is_confirmed": "boolean",  // Whether the customer is confirmed
      "is_phone_number_correct": "boolean"  // Whether the phone number is correct
    },
    "roster_attachment": "string | null"  // URL to the customer list attachment (nullable)
  },
  "has_transcript": "boolean",  // Whether the call has a transcript
  "summary": "string",  // Summary of the call
  "created_at": "string",  // Timestamp of when the call was created, formatted as date-time
  "status": "string"  // Status of the call
}
I