Webhooks let Skedda and AllBooked send booking updates to your own system as soon as they happen. Your system no longer has to keep checking the API for changes. Use webhooks to keep a CRM, invoicing tool, room signage or other integration in sync with your bookings.
Webhooks are available on Skedda Premier and AllBooked Advanced plans.
You need to be a system admin or owner to manage webhooks.
How webhooks work
When a booking related event happens, we send the booking details to each active webhook that:
is subscribed to that event, and
covers at least one of the booking's spaces.
If your system is unavailable or doesn't respond in time, we'll try again up to 4 more times over about 45 minutes. If your system rejects the event, we won't send it again.
Events you can subscribe to
booking.created— a new booking is made.booking.updated— a booking is changed, for example its time, spaces, title or custom fields. This event is also sent when a single occurrence of a repeat booking is cancelled, with the cancelled date included.booking.cancelled— a whole booking is cancelled or deleted.booking_occurrence.checked_in— someone checks in to a booking occurrence.
Add a webhook
Go to Integrations -> Developer.
In the Webhooks section, click 'Add webhook'.
Enter your Webhook URL (HTTPS). The URL must start with https://.
Under Events, select the events you want to receive.
Under Spaces, choose which spaces the webhook covers. 'All spaces' is selected by default. If a booking has more than one space, the event is sent when any of its spaces is selected.
Optionally, add a Label so you can tell your webhooks apart.
Optionally, add Custom headers (up to 10), for example an authorization token your system expects.
Click 'Create webhook'.
Your signing secret is shown once only. Click the copy button, store the secret somewhere secure, and then click I've copied my signing secret.
Send a test event
Send a test event to check that your system receives webhooks correctly before you rely on real bookings.
On the Developer tab, click the ⋮ menu on the webhook's row.
Click 'Send test event'.
Choose the event type you want to test.
Click 'Send test event'.
The test event uses sample booking details and is signed the same way as a real event. It is sent once only and is never retried.
If it succeeds, you'll see the response status and how long it took. Expand the response to see what your system sent back.
If it fails, you'll see the reason in an alert.
Manage your webhooks
Your webhooks are listed on the Developer tab with their label/URL, events, scope (spaces) and status. To manage a webhook, click the ⋮ menu on its row.
Edit — change the URL, events, spaces, label or custom headers, then click Confirm changes. Your signing secret stays the same.
Send test event — see Send a test event above.
Regenerate secret (active webhooks only) — creates a new signing secret, and the old one stops working straight away. Update your system with the new secret first, or it will reject incoming events.
Disable — stops sending events to this webhook straight away. To confirm, type "Disable". Events that happen while a webhook is disabled are not sent later, even after you enable it again.
Enable — starts sending new events to a disabled webhook again.
Delete — permanently removes the webhook. To confirm, type "Delete". This can't be undone.
Your signing secret
Every event we send is signed with your webhook's signing secret, so your system can check that it really came from Skedda or AllBooked. Share the secret only with the developer or tool that receives your webhooks.
For technical details, including how to check the signature and what each event contains, see the API developer documentation
FAQs
Do webhooks send emails or Slack/Teams messages?
Do webhooks send emails or Slack/Teams messages?
No. They POST JSON to a URL. To get an email or chat message, connect them to Zapier, Power Automate, Make or your own endpoint.
Can I add custom headers, for example an auth token?
Can I add custom headers, for example an auth token?
Yes, up to 10. Reserved system headers (Host, Content-Type, the webhook-* ones) can't be overridden.
Can I pause a webhook without deleting it?
Can I pause a webhook without deleting it?



