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"
  }
}

Still need help? Contact Us Contact Us