Webhooks

Create a webhook

post/v2/webhooks

Headers

Authorizationstring required

value must be Bearer <token> where <token> is api key prefixed with cal_

Request body

payloadTemplatestring

The template of the payload that will be sent to the subscriberUrl, check cal.com/docs/core-features/webhooks for more information

activeboolean required
subscriberUrlstring required
triggers'BOOKING_CREATED' | 'BOOKING_PAYMENT_INITIATED' | 'BOOKING_PAID' | 'BOOKING_RESCHEDULED' | 'BOOKING_REQUESTED' | 'BOOKING_CANCELLED' | 'BOOKING_REJECTED' | 'BOOKING_NO_SHOW_UPDATED' | 'FORM_SUBMITTED' | 'MEETING_ENDED' | 'MEETING_STARTED' | 'RECORDING_READY' | 'INSTANT_MEETING' | 'RECORDING_TRANSCRIPTION_GENERATED' | 'OOO_CREATED' | 'AFTER_HOSTS_CAL_VIDEO_NO_SHOW' | 'AFTER_GUESTS_CAL_VIDEO_NO_SHOW' | 'FORM_SUBMITTED_NO_EVENT' | 'DELEGATION_CREDENTIAL_ERROR' required
secretstring

Example request

{
  "payloadTemplate": "{\"content\":\"A new event has been scheduled\",\"type\":\"{{type}}\",\"name\":\"{{title}}\",\"organizer\":\"{{organizer.name}}\",\"booker\":\"{{attendees.0.name}}\"}"
}

Response

status'success' | 'error' required

Example response

{
  "status": "success",
  "data": {
    "payloadTemplate": "{\"content\":\"A new event has been scheduled\",\"type\":\"{{type}}\",\"name\":\"{{title}}\",\"organizer\":\"{{organizer.name}}\",\"booker\":\"{{attendees.0.name}}\"}"
  }
}

Changes