Webhooks
Webhooks allow you to receive an HTTP POST anytime someone schedules an event. This is useful if you need to build custom automations with code.
Creating a webhook
To create a webhook, navigate to Settings > Integrations and click the + icon:
Consuming webhooks
As soon as you register a webhook, we will begin sending real-time payloads to the URL when various events occur. Your endpoint should respond with an HTTP 200 OK
status code as soon as you receive a payload from SavvyCal. We recommend using a background queue to process incoming payloads to ensure your service responds speedily.
If you'd like to test out receiving payloads, RequestBin is a handy little service you can use.
Types
event.created
This payload is sent when someone schedules a new event via one of your scheduling links. The scheduler contains information about the person who submitted the scheduling link. The scope field indicates which scope the link belongs to (for example, your personal URL or a team).
Here is an example payload:
{ "type": "event.created", "id": "payload_7RDQF0G5VT8PAV4ERN90B5Q27Y", "occurred_at": "2020-11-20T19:53:47Z", "payload": { "attendees": [ { "id": "attendee_7RDQF0G5VT8PAV4ERN90B5Q27Y", "display_name": "Derrick Reimer", "email": "derrick@savvycal.com", "fields": [], "is_organizer": true, "response_status": "confirmed", "time_zone": "America/Chicago" }, { "id": "attendee_7RDQF0G5VT8PAV4ERN90B5Q27Y", "display_name": "Corey Haines", "email": "corey@savvycal.com", "fields": [], "is_organizer": false, "response_status": "confirmed", "time_zone": "America/Chicago" } ], "cancel_reason": null, "canceled_at": null, "conferencing": { "instructions": "Derrick Reimer is inviting you to a scheduled Zoom meeting...", "join_url": "https://zoom.us/j/83019998440?pwd=NXNUbVB5LRi84QT09", "meeting_id": "83019998440", "type": "zoom" }, "created_at": "2020-11-20T19:53:46Z", "description": "", "end_at": "2020-11-21T18:30:00Z", "id": "event_7RDQF0G5VT8PAV4ERN90B5Q27Y", "link": { "id": "link_7RDQF0G5VT8PAV4ERN90B5Q27Y", "description": "Let's find a time to meet!", "name": "Chat with Derrick", "slug": "chat" }, "location": null, "scheduler": { "id": "attendee_7RDQF0G5VT8PAV4ERN90B5Q27Y", "display_name": "Corey Haines", "email": "corey@savvycal.com", "fields": [], "is_organizer": false, "response_status": "confirmed", "time_zone": "America/Chicago" }, "scope": { "id": "scope_7RDQF0G5VT8PAV4ERN90B5Q27Y", "name": "Derrick Reimer", "slug": "derrick" }, "start_at": "2020-11-21T17:30:00Z", "state": "confirmed", "summary": "Corey Haines and Derrick Reimer" } }