Use webhooks to connect WorkZen to other tools
Go to Settings > Integrations > Webhooks, click Add Webhook, enter your endpoint URL, and pick the events to subscribe to. WorkZen then sends a signed HTTP POST to your URL in real time whenever those events happen, with automatic retries and a delivery log.
Webhooks are how WorkZen talks to the rest of your stack in real time: a lead comes in and your Slack channel pings, an invoice gets paid and your spreadsheet updates, all through Zapier, Make, or your own code, with no polling.
Create a webhook
- Go to Settings > Integrations > Webhooks (requires the Manage Integrations permission).
- Click Add Webhook.
- Enter the Endpoint URL that should receive events, and optionally a description ("Zapier production hook").
- Under Subscribed Events, pick individual events or select whole categories.
- Click Create Webhook, then copy the Signing Secret it shows you.
Click Send Test on the new endpoint to fire a test event and confirm your receiver responds.
Available events
| Category | Events |
|---|---|
| Leads | lead.created, lead.status_changed, lead.converted |
| Clients | client.created |
| Jobs | job.created, job.status_changed, job.completed |
| Estimates | estimate.created, estimate.sent, estimate.accepted, estimate.declined |
| Invoices | invoice.created, invoice.sent, invoice.paid, invoice.overdue |
| Payments | payment.received |
Each delivery is an HTTP POST with a JSON payload describing the event and the record it concerns.
Verify the signature
Every delivery includes an X-WorkZen-Signature header:
X-WorkZen-Signature: sha256=<hex digest>
It is an HMAC-SHA256 of the raw request body, keyed with your endpoint's signing secret. Recompute it on your side and compare before trusting the payload. Rotate Secret generates a new secret whenever you need one; update your receiver at the same time, since old-secret signatures stop matching immediately.
Treat the signing secret like a password. Anyone holding it can forge events that pass your verification.
Delivery, retries, and the log
- Retries: a failed delivery is retried up to 4 total attempts with increasing delays (10 seconds, 1 minute, 10 minutes).
- Auto-disable: after 10 consecutive failures, the endpoint is disabled and you get a notification, so fix the receiver, then flip it back to Active.
- Delivery Log: every endpoint keeps a log of recent deliveries with the full payload, response status, and a manual retry button, which makes debugging a misbehaving receiver refreshingly boring.
Zapier and Make
Both work out of the box: create a "catch webhook" trigger there, paste the URL it gives you into a WorkZen webhook, and subscribe to the events you care about. From there, your automation platform takes over.
Step by step
- 1
Create the endpoint
Go to Settings > Integrations > Webhooks, click Add Webhook, and enter the URL that should receive events.
- 2
Pick your events
Subscribe to individual events or whole categories (leads, clients, jobs, estimates, invoices, payments).
- 3
Save the signing secret
Copy the signing secret shown after creation and use it to verify the X-WorkZen-Signature header on every delivery.
- 4
Send a test
Click Send Test to fire a test event at your endpoint and confirm it responds successfully.
Frequently Asked Questions
This article answers:
- Does WorkZen have webhooks?
- How do I connect WorkZen to Zapier or Make?
- How do I verify a WorkZen webhook signature?
- Why did my webhook stop receiving events?
Related articles
Still have questions?
Browse the help center, or jump in and see it for yourself. WorkZen is free to get started.