Skip to main content
Webhooks send event notifications from Callgency to an endpoint you manage. Your account’s webhook limit controls how many subscriptions you can create.

Creating a Webhook

  1. Go to Configure > Tools > Webhooks and click the create-webhook action.
  2. Enter a name, destination URL, and optional description.
  3. Select at least one supported event.
  4. Optionally restrict delivery to selected campaigns and configure endpoint authentication.
  5. Save the webhook. New subscriptions are enabled by default and send JSON using POST.
Callgency generates a signing secret when a subscription is created. The create form does not require you to enter a secret or choose an HTTP method. Use Test on the saved webhook to send a sample delivery. Testing sends a real request to the configured endpoint, so use an endpoint suitable for test data.

Webhook Events Reference

The current subscription form supports these event names. Event emission depends on the calling engine and workflow that produces the event; subscribing does not guarantee every engine emits every event.

Delivery Signatures

Standard delivery headers include X-Webhook-Event, X-Webhook-Delivery, X-Webhook-Timestamp, and X-Webhook-Signature. The signature has the form sha256=<hex digest> and uses HMAC-SHA256 over the exact JSON request body with the subscription’s generated secret. A receiver implementing verification must use the raw body bytes before parsing or reserializing JSON, and compare the expected signature securely. The timestamp header is separate from the signed body. Configure custom headers carefully so they do not replace delivery or signature headers.

Webhook Logs

Click Logs on a webhook to review its delivery history, including success or failure, HTTP status, response details, response time, and attempt information where available. Use Retry on an eligible failed delivery to send it again. Your endpoint should handle duplicate notifications safely because a test or retry can repeat work. Editing or deleting a subscription and manually retrying a delivery are available from the webhook controls.