Cal.com BOOKING_CREATED webhook payload example

Cal.com · event: BOOKING_CREATED · content type: application/json

This is a representative sample — fake IDs, real structure. To see a payload with your data, point the provider at a capture URL (button below).

See it live, not frozen

One click creates a free capture bin with this exact payload already in it — pretty-printed, headers inspectable, replayable to your own endpoint:

Then paste the bin's URL into Cal.com's webhook settings to capture a real delivery. No signup.

Headers

content-type: application/json
x-cal-signature-256: 6f4e5f64f35197db8e7eb53ea435c67b65f2766e5b48ff74a715442e7453fe1e
x-cal-webhook-version: 2021-10-20

Body

{
  "triggerEvent": "BOOKING_CREATED",
  "createdAt": "2026-08-30T14:00:01.204Z",
  "payload": {
    "bookerUrl": "https://cal.com",
    "title": "30 Min Meeting between Ada Deveraux and Sam Carter",
    "startTime": "2026-09-02T15:00:00Z",
    "endTime": "2026-09-02T15:30:00Z",
    "additionalNotes": "Wants to talk about the webhook integration.",
    "type": "30min",
    "description": "",
    "eventTypeId": 4821,
    "hideCalendarNotes": false,
    "schedulingType": null,
    "organizer": {
      "id": 1042,
      "name": "Ada Deveraux",
      "email": "ada@acme.dev",
      "username": "ada",
      "timeZone": "Europe/Paris",
      "language": {
        "locale": "en"
      },
      "utcOffset": 120
    },
    "attendees": [
      {
        "email": "sam@example.com",
        "name": "Sam Carter",
        "timeZone": "America/New_York",
        "language": {
          "locale": "en"
        },
        "utcOffset": -240
      }
    ],
    "location": "https://app.cal.com/video/nGh8K2mPq4TzXvLd",
    "destinationCalendar": [
      {
        "id": 2201,
        "integration": "google_calendar",
        "externalId": "ada@acme.dev"
      }
    ],
    "uid": "nGh8K2mPq4TzXvLdWc7RbYe3",
    "conferenceCredentialId": null,
    "iCalUID": "nGh8K2mPq4TzXvLdWc7RbYe3@Cal.com",
    "eventTitle": "30 Min Meeting",
    "length": 30,
    "bookingId": 91834,
    "status": "ACCEPTED",
    "metadata": {
      "videoCallUrl": "https://app.cal.com/video/nGh8K2mPq4TzXvLd"
    }
  }
}

Things that bite people

Send it yourself

Reproduce this delivery against any endpoint (your handler, a bin, staging):

$ curl -X POST https://your-endpoint.example/hook \
  -H 'content-type: application/json' \
  -H 'x-cal-signature-256: 6f4e5f64f35197db8e7eb53ea435c67b65f2766e5b48ff74a715442e7453fe1e' \
  -H 'x-cal-webhook-version: 2021-10-20' \
 -d '{
  "triggerEvent": "BOOKING_CREATED",
  "createdAt": "2026-08-30T14:00:01.204Z",
  "payload": {
    "bookerUrl": "https://cal.com",
    "title": "30 Min Meeting between Ada Deveraux and Sam Carter",
    "startTime": "2026-09-02T15:00:00Z",
    "endTime": "2026-09-02T15:30:00Z",
    "additionalNotes": "Wants to talk about the webhook integration.",
    "type": "30min",
    "description": "",
    "eventTypeId": 4821,
    "hideCalendarNotes": false,
    "schedulingType": null,
    "organizer": {
      "id": 1042,
      "name": "Ada Deveraux",
      "email": "ada@acme.dev",
      "username": "ada",
      "timeZone": "Europe/Paris",
      "language": {
        "locale": "en"
      },
      "utcOffset": 120
    },
    "attendees": [
      {
        "email": "sam@example.com",
        "name": "Sam Carter",
        "timeZone": "America/New_York",
        "language": {
          "locale": "en"
        },
        "utcOffset": -240
      }
    ],
    "location": "https://app.cal.com/video/nGh8K2mPq4TzXvLd",
    "destinationCalendar": [
      {
        "id": 2201,
        "integration": "google_calendar",
        "externalId": "ada@acme.dev"
      }
    ],
    "uid": "nGh8K2mPq4TzXvLdWc7RbYe3",
    "conferenceCredentialId": null,
    "iCalUID": "nGh8K2mPq4TzXvLdWc7RbYe3@Cal.com",
    "eventTitle": "30 Min Meeting",
    "length": 30,
    "bookingId": 91834,
    "status": "ACCEPTED",
    "metadata": {
      "videoCallUrl": "https://app.cal.com/video/nGh8K2mPq4TzXvLd"
    }
  }
}'

← All payload examples · Signature debugger · Docs