Webhooks
Webhooks let Driive push real-time notifications to your server whenever something happens — a new appointment is created, a booking is cancelled, a contact is updated, and more. Instead of repeatedly checking the API for changes, your system receives an HTTP POST with the event details the moment they occur.
Why use webhooks?
Real-time sync — Keep external systems up to date the moment data changes in Driive
No polling required — Eliminate the need for scheduled API calls that check for updates
Trigger automations — Fire workflows in Zapier, Make, n8n, or your own backend when events happen
Reduce API usage — Webhooks push data to you, so you only call the API when you need additional details
Creating a webhook
Navigate to Developer > Webhooks in the sidebar.
Click Create Webhook.
Enter a name for the webhook (e.g., "CRM Sync", "Slack Notifications", "Zapier Trigger").
Enter the destination URL — this is the endpoint on your server that will receive the webhook payloads. It must be a publicly accessible HTTPS URL.
Select the events you want to subscribe to. You can choose individual events or subscribe to all events. See Webhook Events and Security for the full list.
Click Save.
After saving, Driive generates a signing secret for this webhook. You'll use this secret to verify that incoming payloads are genuinely from Driive. Copy it and store it securely — you can view it again later in the webhook settings, but treat it like a password.
Testing your webhook
Before going live, use the built-in test feature to make sure your endpoint is working:
Open the webhook you just created.
Click the Send Test button.
Driive sends a sample payload to your destination URL.
Check your server logs or the delivery history to confirm the payload was received and processed successfully.
This is a great way to verify your endpoint is reachable, your server returns a 2xx response, and your signature verification logic is working correctly.
Viewing delivery history
Every webhook has a delivery log that tracks each attempt Driive makes to deliver a payload.
For each delivery, you can see:
Column | Description |
|---|---|
Event | The event type that triggered the delivery (e.g., |
Status | Whether the delivery succeeded or failed |
Response code | The HTTP status code your server returned |
Timestamp | When the delivery was attempted |
Use delivery logs to debug integration issues. If a delivery failed, the log shows the response code and can help you pinpoint whether the issue is on your server (e.g., a 500 error) or a network problem (e.g., a timeout).
Enabling and disabling webhooks
You can temporarily disable a webhook without deleting it:
Open the webhook from the list.
Toggle the Enabled switch off.
Driive stops sending events to this endpoint until you re-enable it.
This is useful when you're doing maintenance on your server or debugging an issue and don't want events to pile up as failed deliveries.
Editing a webhook
To update an existing webhook:
Click the webhook name in the list.
Update the name, destination URL, or subscribed events.
Click Save.
Changes take effect immediately. The next event that matches your updated configuration will be delivered to the new URL or event selection.
Deleting a webhook
If you no longer need a webhook:
Click the webhook name in the list.
Click Delete.
Confirm the deletion.
All delivery history for the webhook is also removed. If you think you might need the webhook again, consider disabling it instead.
What happens next
Once your webhook is set up and receiving events, you'll want to understand the payloads and how to verify they're authentic:
Webhook Events and Security — Full list of events, payload structure, HMAC signature verification, retry logic, and secret rotation
Troubleshooting — Fix common webhook delivery issues