Webhooks let your systems subscribe to events in Run a Call. When something happens — a new customer, a paid invoice, a completed job — Run a Call POSTs a JSON payload to your endpoint.

Open the Webhooks page

Go to Settings → Integrations → Webhooks, then click + New webhook.

Fill in the subscription

FieldWhat it controls
URLWhere to POST events
EventsWhich events to subscribe to (e.g. customer.created, job.completed, invoice.paid)
LabelWhat this webhook is for — "Pipedrive sync", "Internal CRM"

Click Create.

Copy the signing secret

Warning

Run a Call generates a signing secret when you create the webhook. The secret is shown once at creation; copy it now. You'll use it to verify each delivery — see Verifying webhook signatures.

Available events

Major events emitted today:

EventWhen it fires
customer.createdA new customer record is created
customer.updatedA customer record is edited
job.createdA job is created
job.scheduledA job is scheduled (date/time set)
job.completedA job is marked Completed
job.cancelledA job is cancelled
invoice.sentAn invoice is sent to the customer
invoice.paidAn invoice is fully paid
estimate.approvedA customer approves an estimate
estimate.declinedA customer declines an estimate
voice_call.completedAn inbound or outbound voice call ends

Subscribe to one event per subscription, or comma-separate multiple events into one subscription.

Payload shape

Each event POST has:

{
  "event": "invoice.paid",
  "delivery_id": "wd_...",
  "created_at": "2026-01-01T12:34:56Z",
  "organization_id": "...",
  "data": { ... }
}

The data object holds the entity at the moment of the event. See the developer docs at docs.runacall.com for entity shapes.

Retries and auto-pause

OutcomeWhat happens
HTTP 2xxSuccessful delivery
Non-2xx or timeoutRetry on an exponential schedule
N consecutive failures (configurable per webhook)Subscription is auto-paused to prevent runaway retries against a dead endpoint

When auto-paused, you'll see auto_paused_at in the subscription. Fix the endpoint, then unpause from the webhook detail page.

Tracking deliveries

Each subscription has a delivery log:

FieldWhat it shows
last_delivery_atTimestamp of the last delivery attempt
last_delivery_status2xx / failed
consecutive_failuresCounter that triggers auto-pause

Security

Important

[!IMPORTANT]

  • Always verify the signature on incoming webhooks. Without verification, anyone with your URL can spoof events.
  • Use HTTPS for the URL. HTTP webhooks are accepted today but will be deprecated.