# Receive call events with webhooks

> Use a campaign webhook to send call completion details to an endpoint you control.

Reviewed: 2026-09-30

Source: https://docs.callultra.com/documentation/webhooks

## Add a webhook endpoint

Open campaign settings and enter the HTTPS endpoint that should receive the post-call payload. Make sure the endpoint accepts JSON and responds promptly so the call workflow can finish reliably.

## Handle the payload

Use the call ID to identify the event and make downstream work idempotent. Store the event before starting a slower CRM or messaging action, then return a successful response quickly.

```json
{
  "event": "call.completed",
  "data": {
    "id": "<call-id>",
    "status": "completed",
    "outcome": "<outcome>",
    "summary": "<summary>"
  }
}
```

## Test delivery end to end

1. **Use a test endpoint** — Start with a staging URL that records request headers and body.
2. **Complete a test call** — Use Quick Call or a small campaign with a number you control.
3. **Check the call ID** — Confirm the payload corresponds to the call you just placed.
4. **Make the receiver safe to retry** — Use the call ID as a deduplication key before triggering external side effects.
