How Webhooks Work
When an event occurs in Zolt, the platform constructs a JSON payload describing what happened and immediately delivers it to every registered endpoint that has subscribed to that event type. The request is a standard HTTP POST with aContent-Type: application/json header. Your server reads the payload, processes it, and responds with an HTTP 2xx status code to acknowledge receipt. If your endpoint does not respond in time or returns a non-2xx status, Zolt will retry the delivery automatically (see Retries below).
Registering a Webhook
You can register a webhook endpoint through the Zolt dashboard or directly through the API.Using the Dashboard
1
Open Webhook Settings
In your Zolt workspace, navigate to Settings → Developer → Webhooks.
2
Add a New Endpoint
Click Add Endpoint to open the registration form.
3
Enter Your Endpoint URL
Type or paste the publicly accessible HTTPS URL where Zolt should deliver events (for example,
https://yourapp.com/webhook).4
Select Events to Subscribe To
Check each event type your integration needs to handle. You can subscribe to individual events or select All Events to receive everything Zolt emits.
5
Save the Endpoint
Click Save. Zolt displays your webhook secret once — copy it and store it securely before closing the dialog. You will need it to verify incoming payloads.
Using the API
If you prefer to register webhooks programmatically, send aPOST request to the /v1/webhooks endpoint:
Register a webhook endpoint
secret field containing your signing secret. This value is returned only once, so persist it immediately in a secure secrets store.
Webhook Payload Format
Every webhook request Zolt sends shares the same top-level envelope structure. Theevent field identifies which event fired, and the data object contains the full resource snapshot at the time of the event.
Example webhook payload
Retries
Zolt considers a delivery successful when your endpoint returns any HTTP2xx response within 10 seconds of receiving the request. If the response times out or returns a 3xx, 4xx, or 5xx status code, Zolt automatically retries the delivery using exponential backoff:
After five failed retries, Zolt marks the delivery as permanently failed and stops attempting. You can inspect failed deliveries and manually replay them from Settings → Developer → Webhooks → [your endpoint] → Delivery Log.
Because retries can cause the same event to arrive more than once, design your webhook handler to be idempotent. The
id field in the payload envelope uniquely identifies each event, so you can use it to detect and discard duplicates.Next steps:
- Browse the full list of events your webhook can subscribe to → Webhook Events Reference
- Learn how to verify that incoming requests genuinely come from Zolt → Webhook Security