Webhooks
Send a signed HTTP request to your own system when something happens in Anchor.
Webhooks let another system (your website, a workflow tool, or your own code) react when something happens in your Anchor organisation. Anchor sends an HTTP POST with a JSON body to a URL you choose. Manage them under Settings → Webhooks.
Add a webhook
- Click Add Webhook.
- Enter the Endpoint URL (starting with
https://) and an optional Description. - Under Events, tick the events to send. They are grouped as Invoices, Payments, Expenses, Bills, Contacts, Accounting and Approvals.
- Save.
Use Send Test to post a test event to your URL. Recent Deliveries shows each attempt and the response your server returned. Edit changes the URL or events; Delete removes the webhook.
Only journal.posted is sent today, and only for entries posted by the online store connector. The other events in the list (invoice.created, invoice.paid, invoice.overdue, payment.received, expense.created, bill.created, bill.due, contact.created, approval.requested, approval.completed) can be selected but are not sent yet. A failed delivery is not retried.
What Anchor sends
Each request has these headers:
| Header | Value |
|---|---|
X-Dubbl-Event | The event name, for example journal.posted |
X-Dubbl-Delivery-Id | A unique id for this delivery |
X-Dubbl-Signature | HMAC-SHA256 of the raw body, hex encoded, using the webhook's secret |
The signing secret is generated when you create the webhook and is returned by the API and MCP (create_webhook); the settings page does not display it. Verify the signature before trusting a request.
Respond with any 2xx status to mark the delivery successful.