Notifications
Get a webhook when a visitor writes
What this is-
Choose your site’s events and a public HTTPS receiver.
-
Create the subscription.
On your sites page, open Settings, Notifications, then Add notification. Choose the site, events, optional storage resource, and receiver URL.
SendPOST /v1/sites/{sitename}/notificationswith{"url":"https://receiver.example/hook","events":["record.added"]}. -
Save the signing secret shown once in your receiver configuration. Verify each message.
Subscribe with MCP Events
What this is- In an app that supports MCP Events, call
events/listand select an event. - Call
events/subscribewithname,arguments:{site,storage?}, anddelivery:{mode:"webhook",url,secret}. Supply the app’s receiver and awhsec_secret, base64 of 24 to 64 bytes. - Verify the signed challenge, then return 2xx JSON with the same
challengeand notypefield. Refresh beforerefreshBefore; retain the returnedcursorfor replay.
Test, pause, rotate, and read deliveries
What this is- Press Send test, or POST to the subscription’s
/testroute. - Read Deliveries, or GET
/v1/sites/{sitename}/notifications/{id}/deliveries. - Press Pause or Resume, or PATCH that subscription with
{"paused":true}or{"paused":false}. - Press Rotate secret, or POST to
/rotate-secret. Update your receiver. For an MCP subscription, refresh through its app instead.
Switch off sign-in alerts, or get a Submissions digest
What this is- On your sites page, open Settings and switch off Sign-in alerts.
- For an existing Submissions collection, open its settings and choose an email digest cadence.
Set up Zapier, n8n, Hermes, or OpenClaw
- Zapier: choose Webhooks by Zapier, Catch Hook, copy its URL, and Send test. Put a verifier before it for raw-byte signature checks.
- n8n: add a POST Webhook node, enable Raw Body for verification, test, publish, and copy its Production URL.
- Hermes: enable its webhook adapter and configure its route secret with the shown
whsec_value; verify thesvix-*aliases. - OpenClaw: enable hooks, set
Authorization: Bearer <hook token>as the custom header, and use an adapter to verify and map the envelope to/hooks/agent’smessagepayload.
Errors you may see
| Code | Means | Do this |
|---|---|---|
invalid_url (400) |
Receiver refused | Use public HTTPS |
invalid_events (400) |
Event list refused | Choose listed events |
client_secret (409) |
MCP subscriber manages the secret | Refresh in the subscribing app |