Webhooks push AddCal activity to your own systems in real time. When a matching event happens, AddCal sends an HTTP POST request to a URL you control, with a JSON payload describing what happened. Use them to log RSVPs in your database, trigger a Slack message, or kick off any workflow without polling our API.
Webhooks are a Business plan feature. See Managing your subscription, payments & invoices to upgrade.
What events you can subscribe to
Each webhook listens for one event type:
RSVP Created ( | A new RSVP is submitted on one of your events. |
RSVP Updated ( | An existing RSVP is modified. |
Calendar Subscribed ( | Someone subscribes to one of your calendars. |
Create a webhook
Go to your API settings and open Webhooks, then fill in the Create Webhook form:
In Webhook URL, enter the endpoint that will receive the POST. Only HTTPS URLs are accepted, and the URL cannot point at a private or internal address.
Under Event Type, select RSVP Created, RSVP Updated, or Calendar Subscribed.
Optionally scope the webhook (see below).
Click Create Webhook.
New webhooks are active as soon as you create them.
Scope a webhook
By default a webhook fires for every matching event across your team. You can narrow it down:
For RSVP Created and RSVP Updated, a Scope to Event picker appears. Choose a single event to only receive RSVPs for that event, or leave it on All events.
For Calendar Subscribed, a Scope to Calendar picker appears. Choose a single calendar, or leave it on All calendars.
Scoping is optional. An empty scope means the webhook receives every matching event.
Turn a webhook on or off
Each webhook in the Manage Webhooks list has a toggle switch showing Active or Inactive. Flip it off to pause delivery without deleting the webhook, and back on to resume. To remove a webhook permanently, click Delete and confirm.
If your endpoint responds with 410 Gone, AddCal deactivates that webhook automatically.
How delivery works
Every request is sent as an HTTP POST with a Content-Type: application/json header. Requests time out after 30 seconds and are retried up to 3 times with exponential backoff, so a brief outage on your side will not lose a payload. The Manage Webhooks list shows how many times each webhook has triggered and when it last fired.
Payload details
Each event type sends a different JSON body. For the full payload structure (RSVP, event, calendar, and subscription objects and their fields), see the AddCal API documentation.
To learn about RSVPs themselves, see Collect RSVPs for an event.