Skip to main content
POST
/
_reference
/
webhooks
/
voice-agent-call-completed
Voice agent — call completed
curl --request POST \
  --url https://your_webhook_host/_reference/webhooks/voice-agent-call-completed \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": "thread-uuid",
  "status": "did-succeed",
  "summary": "Caller wanted to book an appointment for teeth cleaning. Successfully scheduled for Tuesday at 3pm. Caller was friendly and confirmed contact details.",
  "score": 87,
  "agent": {
    "id": "agent-uuid",
    "name": "Dental Receptionist",
    "phone_number": "+61412345678"
  },
  "direction": "outbound",
  "duration": 142,
  "contact": {
    "id": "contact-uuid",
    "name": "John Smith",
    "email": "john@example.com",
    "phone_number": "+61498765432",
    "external_id": "ghl-contact-123"
  },
  "transcript": "Full conversation transcript here..."
}
'

Body

application/json

JSON payload delivered to your Webhook URL.

JSON body POSTed to the voice agent Webhook URL after each call completes. Field presence may vary with agent settings (e.g. transcript when call recording/transcripts are enabled).

id
string
required

Unique thread identifier for the call

status
string
required

Call outcome (e.g. did-succeed, did-not-answer, error)

summary
string
required

AI-generated summary of the call

score
integer
required

Call quality score (0–100)

Required range: 0 <= x <= 100
agent
object
required
direction
enum<string>
required

Call direction

Available options:
inbound,
outbound
duration
integer
required

Call length in seconds

Required range: x >= 0
contact
object
required
transcript
string

Full conversation transcript when transcripts are enabled for this agent

Response

200

Your server acknowledged the webhook (any 2xx response is acceptable).