Use Cal.com to manage bookings, event types, schedules, and available slots. Booking webhooks can start workflows when a booking changes.
Connection guides: API keys .
Sim requests no OAuth scopes for Cal.com. For a self-hosted deployment, register your own app with the provider using the settings below. See Integrations and OAuth for setup.
Setting Value Redirect URI <NEXT_PUBLIC_APP_URL>/api/auth/oauth2/callback/calcomEnvironment variables CALCOM_CLIENT_ID
Create, list, confirm, decline, reschedule, or cancel bookings; manage event types and schedules; and retrieve available slots. Booking and meeting webhooks can start workflows. Connect with OAuth or a supported Cal.com API key.
Create a new booking on Cal.com
Inputs and outputsParameter Type Required Description eventTypeIdnumber Yes The ID of the event type to book startstring Yes Start time in UTC ISO 8601 format (e.g., 2024-01-15T09:00:00Z) attendeeobject Yes Attendee information object with name, email, timeZone, and optional phoneNumber. The Cal.com block composes this from its individual attendee fields; a direct caller sends the object. guestsarray No Array of guest email addresses lengthInMinutesnumber No Duration of the booking in minutes (overrides event type default) metadataobject No Custom metadata to attach to the booking
Parameter Type Description statusstring Response status dataobject Created booking details ↳ eventType object Event type details ↳ id number Event type ID ↳ slug string Event type slug ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee actual email address ↳ displayEmail string Email shown publicly (may differ from actual email) ↳ timeZone string Attendee timezone (IANA format) ↳ phoneNumber string Attendee phone number ↳ language string Attendee language preference (ISO code) ↳ absent boolean Whether attendee was absent ↳ hosts array List of hosts ↳ id number Host user ID ↳ name string Host display name ↳ email string Host actual email address ↳ displayEmail string Email shown publicly (may differ from actual email) ↳ username string Host Cal.com username ↳ timeZone string Host timezone (IANA format) ↳ id number Numeric booking ID ↳ uid string Unique identifier for the booking ↳ title string Title of the booking ↳ status string Booking status (e.g., accepted, pending, cancelled) ↳ start string Start time in ISO 8601 format ↳ end string End time in ISO 8601 format ↳ duration number Duration in minutes ↳ eventTypeId number Event type ID ↳ meetingUrl string URL to join the meeting ↳ location string Location of the booking ↳ absentHost boolean Whether the host was absent ↳ guests array Guest email addresses ↳ bookingFieldsResponses json Custom booking field responses (dynamic keys based on event type configuration) ↳ metadata json Custom metadata attached to the booking (dynamic key-value pairs) ↳ icsUid string ICS calendar UID ↳ createdAt string When the booking was created
Get details of a specific booking by its UID
Inputs and outputsParameter Type Required Description bookingUidstring Yes Unique identifier (UID) of the booking
Parameter Type Description statusstring Response status dataobject Booking details ↳ eventType object Event type details ↳ id number Event type ID ↳ slug string Event type slug ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee actual email address ↳ displayEmail string Email shown publicly (may differ from actual email) ↳ timeZone string Attendee timezone (IANA format) ↳ phoneNumber string Attendee phone number ↳ language string Attendee language preference (ISO code) ↳ absent boolean Whether attendee was absent ↳ hosts array List of hosts ↳ id number Host user ID ↳ name string Host display name ↳ email string Host actual email address ↳ displayEmail string Email shown publicly (may differ from actual email) ↳ username string Host Cal.com username ↳ timeZone string Host timezone (IANA format) ↳ id number Numeric booking ID ↳ uid string Unique identifier for the booking ↳ title string Title of the booking ↳ description string Description of the booking ↳ status string Booking status (e.g., accepted, pending, cancelled) ↳ start string Start time in ISO 8601 format ↳ end string End time in ISO 8601 format ↳ duration number Duration in minutes ↳ eventTypeId number Event type ID ↳ meetingUrl string URL to join the meeting ↳ location string Location of the booking ↳ absentHost boolean Whether the host was absent ↳ guests array Guest email addresses ↳ bookingFieldsResponses json Custom booking field responses (dynamic keys based on event type configuration) ↳ metadata json Custom metadata attached to the booking (dynamic key-value pairs) ↳ rating number Booking rating ↳ icsUid string ICS calendar UID ↳ cancellationReason string Reason for cancellation if cancelled ↳ reschedulingReason string Reason for rescheduling if rescheduled ↳ rescheduledFromUid string Original booking UID if this booking was rescheduled ↳ rescheduledToUid string New booking UID after reschedule ↳ cancelledByEmail string Email of person who cancelled the booking ↳ rescheduledByEmail string Email of person who rescheduled the booking ↳ createdAt string When the booking was created ↳ updatedAt string When the booking was last updated
List all bookings with optional status filter
Inputs and outputsParameter Type Required Description statusstring No Filter bookings by status: upcoming, recurring, past, cancelled, or unconfirmed takenumber No Number of bookings to return (pagination limit) skipnumber No Number of bookings to skip (pagination offset)
Parameter Type Description statusstring Response status dataarray Array of bookings ↳ eventType object Event type details ↳ id number Event type ID ↳ slug string Event type slug ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee actual email address ↳ displayEmail string Email shown publicly (may differ from actual email) ↳ timeZone string Attendee timezone (IANA format) ↳ phoneNumber string Attendee phone number ↳ language string Attendee language preference (ISO code) ↳ absent boolean Whether attendee was absent ↳ hosts array List of hosts ↳ id number Host user ID ↳ name string Host display name ↳ email string Host actual email address ↳ displayEmail string Email shown publicly (may differ from actual email) ↳ username string Host Cal.com username ↳ timeZone string Host timezone (IANA format) ↳ id number Numeric booking ID ↳ uid string Unique identifier for the booking ↳ title string Title of the booking ↳ description string Description of the booking ↳ status string Booking status (e.g., accepted, pending, cancelled) ↳ start string Start time in ISO 8601 format ↳ end string End time in ISO 8601 format ↳ duration number Duration in minutes ↳ eventTypeId number Event type ID ↳ meetingUrl string URL to join the meeting ↳ location string Location of the booking ↳ absentHost boolean Whether the host was absent ↳ guests array Guest email addresses ↳ bookingFieldsResponses json Custom booking field responses (dynamic keys based on event type configuration) ↳ metadata json Custom metadata attached to the booking (dynamic key-value pairs) ↳ rating number Booking rating ↳ icsUid string ICS calendar UID ↳ cancellationReason string Reason for cancellation if cancelled ↳ cancelledByEmail string Email of person who cancelled the booking ↳ reschedulingReason string Reason for rescheduling if rescheduled ↳ rescheduledByEmail string Email of person who rescheduled the booking ↳ rescheduledFromUid string Original booking UID if this booking was rescheduled ↳ rescheduledToUid string New booking UID after reschedule ↳ createdAt string When the booking was created ↳ updatedAt string When the booking was last updated paginationobject Pagination metadata ↳ totalItems number Total number of items ↳ remainingItems number Remaining items after current page ↳ returnedItems number Number of items returned in this response ↳ itemsPerPage number Items per page ↳ currentPage number Current page number ↳ totalPages number Total number of pages ↳ hasNextPage boolean Whether there is a next page ↳ hasPreviousPage boolean Whether there is a previous page
Cancel an existing booking
Inputs and outputsParameter Type Required Description bookingUidstring Yes Unique identifier (UID) of the booking to cancel cancellationReasonstring No Reason for cancelling the booking
Parameter Type Description statusstring Response status dataobject Cancelled booking details ↳ eventType object Event type details ↳ id number Event type ID ↳ slug string Event type slug ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee actual email address ↳ displayEmail string Email shown publicly (may differ from actual email) ↳ timeZone string Attendee timezone (IANA format) ↳ phoneNumber string Attendee phone number ↳ language string Attendee language preference (ISO code) ↳ absent boolean Whether attendee was absent ↳ hosts array List of hosts ↳ id number Host user ID ↳ name string Host display name ↳ email string Host actual email address ↳ displayEmail string Email shown publicly (may differ from actual email) ↳ username string Host Cal.com username ↳ timeZone string Host timezone (IANA format) ↳ id number Numeric booking ID ↳ uid string Unique identifier for the booking ↳ title string Title of the booking ↳ cancellationReason string Reason for cancellation if cancelled ↳ cancelledByEmail string Email of person who cancelled the booking ↳ start string Start time in ISO 8601 format ↳ end string End time in ISO 8601 format ↳ duration number Duration in minutes ↳ eventTypeId number Event type ID ↳ location string Location of the booking ↳ metadata json Custom metadata attached to the booking (dynamic key-value pairs) ↳ createdAt string When the booking was created ↳ status string Booking status (should be cancelled)
Reschedule an existing booking to a new time
Inputs and outputsParameter Type Required Description bookingUidstring Yes Unique identifier (UID) of the booking to reschedule startstring Yes New start time in UTC ISO 8601 format (e.g., 2024-01-15T09:00:00Z) reschedulingReasonstring No Reason for rescheduling the booking
Parameter Type Description statusstring Response status dataobject Rescheduled booking details ↳ eventType object Event type details ↳ id number Event type ID ↳ slug string Event type slug ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee actual email address ↳ displayEmail string Email shown publicly (may differ from actual email) ↳ timeZone string Attendee timezone (IANA format) ↳ phoneNumber string Attendee phone number ↳ language string Attendee language preference (ISO code) ↳ absent boolean Whether attendee was absent ↳ hosts array List of hosts ↳ id number Host user ID ↳ name string Host display name ↳ email string Host actual email address ↳ displayEmail string Email shown publicly (may differ from actual email) ↳ username string Host Cal.com username ↳ timeZone string Host timezone (IANA format) ↳ id number Numeric booking ID ↳ title string Title of the booking ↳ status string Booking status (e.g., accepted, pending, cancelled) ↳ reschedulingReason string Reason for rescheduling if rescheduled ↳ rescheduledFromUid string Original booking UID if this booking was rescheduled ↳ rescheduledByEmail string Email of person who rescheduled the booking ↳ duration number Duration in minutes ↳ eventTypeId number Event type ID ↳ meetingUrl string URL to join the meeting ↳ location string Location of the booking ↳ guests array Guest email addresses ↳ metadata json Custom metadata attached to the booking (dynamic key-value pairs) ↳ icsUid string ICS calendar UID ↳ createdAt string When the booking was created ↳ uid string Unique identifier for the new booking ↳ start string New start time in ISO 8601 format ↳ end string New end time in ISO 8601 format
Confirm a pending booking that requires confirmation
Inputs and outputsParameter Type Required Description bookingUidstring Yes Unique identifier (UID) of the booking to confirm
Parameter Type Description statusstring Response status dataobject Confirmed booking details ↳ eventType object Event type details ↳ id number Event type ID ↳ slug string Event type slug ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee actual email address ↳ displayEmail string Email shown publicly (may differ from actual email) ↳ timeZone string Attendee timezone (IANA format) ↳ phoneNumber string Attendee phone number ↳ language string Attendee language preference (ISO code) ↳ absent boolean Whether attendee was absent ↳ hosts array List of hosts ↳ id number Host user ID ↳ name string Host display name ↳ email string Host actual email address ↳ displayEmail string Email shown publicly (may differ from actual email) ↳ username string Host Cal.com username ↳ timeZone string Host timezone (IANA format) ↳ id number Numeric booking ID ↳ uid string Unique identifier for the booking ↳ title string Title of the booking ↳ start string Start time in ISO 8601 format ↳ end string End time in ISO 8601 format ↳ duration number Duration in minutes ↳ eventTypeId number Event type ID ↳ meetingUrl string URL to join the meeting ↳ location string Location of the booking ↳ guests array Guest email addresses ↳ metadata json Custom metadata attached to the booking (dynamic key-value pairs) ↳ icsUid string ICS calendar UID ↳ createdAt string When the booking was created ↳ status string Booking status (should be accepted/confirmed)
Decline a pending booking request
Inputs and outputsParameter Type Required Description bookingUidstring Yes Unique identifier (UID) of the booking to decline reasonstring No Reason for declining the booking
Parameter Type Description statusstring Response status dataobject Declined booking details ↳ eventType object Event type details ↳ id number Event type ID ↳ slug string Event type slug ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee actual email address ↳ displayEmail string Email shown publicly (may differ from actual email) ↳ timeZone string Attendee timezone (IANA format) ↳ phoneNumber string Attendee phone number ↳ language string Attendee language preference (ISO code) ↳ absent boolean Whether attendee was absent ↳ hosts array List of hosts ↳ id number Host user ID ↳ name string Host display name ↳ email string Host actual email address ↳ displayEmail string Email shown publicly (may differ from actual email) ↳ username string Host Cal.com username ↳ timeZone string Host timezone (IANA format) ↳ id number Numeric booking ID ↳ uid string Unique identifier for the booking ↳ title string Title of the booking ↳ cancellationReason string Reason for cancellation if cancelled ↳ start string Start time in ISO 8601 format ↳ end string End time in ISO 8601 format ↳ duration number Duration in minutes ↳ eventTypeId number Event type ID ↳ location string Location of the booking ↳ metadata json Custom metadata attached to the booking (dynamic key-value pairs) ↳ createdAt string When the booking was created ↳ status string Booking status (should be cancelled/rejected)
Create a new event type in Cal.com
Inputs and outputsParameter Type Required Description titlestring Yes Title of the event type slugstring Yes Unique slug for the event type URL lengthInMinutesnumber Yes Duration of the event in minutes descriptionstring No Description of the event type slotIntervalnumber No Interval between available booking slots in minutes minimumBookingNoticenumber No Minimum notice required before booking in minutes beforeEventBuffernumber No Buffer time before the event in minutes afterEventBuffernumber No Buffer time after the event in minutes scheduleIdnumber No ID of the schedule to use for availability disableGuestsboolean No Whether to disable guests from being added to bookings
Parameter Type Description statusstring Response status dataobject Created event type details ↳ id number Event type ID ↳ title string Event type title ↳ slug string Event type slug ↳ description string Event type description ↳ lengthInMinutes number Duration in minutes ↳ slotInterval number Slot interval in minutes ↳ minimumBookingNotice number Minimum booking notice in minutes ↳ beforeEventBuffer number Buffer before event in minutes ↳ afterEventBuffer number Buffer after event in minutes ↳ scheduleId number Schedule ID ↳ disableGuests boolean Whether guests are disabled ↳ createdAt string ISO timestamp of creation ↳ updatedAt string ISO timestamp of last update
Get detailed information about a specific event type
Inputs and outputsParameter Type Required Description eventTypeIdnumber Yes Event type ID to retrieve
Parameter Type Description statusstring Response status dataobject Event type details ↳ id number Event type ID ↳ title string Event type title ↳ slug string Event type slug ↳ description string Event type description ↳ lengthInMinutes number Duration in minutes ↳ slotInterval number Slot interval in minutes ↳ minimumBookingNotice number Minimum booking notice in minutes ↳ beforeEventBuffer number Buffer before event in minutes ↳ afterEventBuffer number Buffer after event in minutes ↳ scheduleId number Schedule ID ↳ disableGuests boolean Whether guests are disabled ↳ createdAt string ISO timestamp of creation ↳ updatedAt string ISO timestamp of last update
Retrieve a list of all event types
Inputs and outputsParameter Type Required Description sortCreatedAtstring No Sort by creation date: "asc" or "desc"
Parameter Type Description statusstring Response status dataarray Array of event types ↳ id number Event type ID ↳ title string Event type title ↳ slug string Event type slug ↳ description string Event type description ↳ lengthInMinutes number Duration in minutes ↳ slotInterval number Slot interval in minutes ↳ minimumBookingNotice number Minimum booking notice in minutes ↳ beforeEventBuffer number Buffer before event in minutes ↳ afterEventBuffer number Buffer after event in minutes ↳ scheduleId number Schedule ID ↳ disableGuests boolean Whether guests are disabled ↳ createdAt string ISO timestamp of creation ↳ updatedAt string ISO timestamp of last update
Update an existing event type in Cal.com
Inputs and outputsParameter Type Required Description eventTypeIdnumber Yes Event type ID to update (e.g., 12345) titlestring No Title of the event type slugstring No Unique slug for the event type URL lengthInMinutesnumber No Duration of the event in minutes descriptionstring No Description of the event type slotIntervalnumber No Interval between available booking slots in minutes minimumBookingNoticenumber No Minimum notice required before booking in minutes beforeEventBuffernumber No Buffer time before the event in minutes afterEventBuffernumber No Buffer time after the event in minutes scheduleIdnumber No ID of the schedule to use for availability disableGuestsboolean No Whether to disable guests from being added to bookings
Parameter Type Description statusstring Response status dataobject Updated event type details ↳ id number Event type ID ↳ title string Event type title ↳ slug string Event type slug ↳ description string Event type description ↳ lengthInMinutes number Duration in minutes ↳ slotInterval number Slot interval in minutes ↳ minimumBookingNotice number Minimum booking notice in minutes ↳ beforeEventBuffer number Buffer before event in minutes ↳ afterEventBuffer number Buffer after event in minutes ↳ scheduleId number Schedule ID ↳ disableGuests boolean Whether guests are disabled ↳ createdAt string ISO timestamp of creation ↳ updatedAt string ISO timestamp of last update
Delete an event type from Cal.com
Inputs and outputsParameter Type Required Description eventTypeIdnumber Yes Event type ID to delete
Parameter Type Description statusstring Response status dataobject Deleted event type details ↳ id number Event type ID ↳ lengthInMinutes number Duration in minutes ↳ title string Event type title ↳ slug string Event type slug
Create a new availability schedule in Cal.com
Inputs and outputsParameter Type Required Description namestring Yes Name of the schedule timeZonestring Yes Timezone for the schedule (e.g., America/New_York) isDefaultboolean Yes Whether this schedule should be the default availabilityarray No Availability intervals for the schedule
Parameter Type Description statusstring Response status dataobject Created schedule data ↳ id number Schedule ID ↳ ownerId number Owner user ID ↳ name string Schedule name ↳ timeZone string Timezone (e.g., America/New_York) ↳ isDefault boolean Whether this is the default schedule ↳ availability array Availability windows ↳ days array Days of the week (Monday, Tuesday, etc.) ↳ startTime string Start time in HH:MM format ↳ endTime string End time in HH:MM format ↳ overrides array Date-specific availability overrides ↳ date string Date in YYYY-MM-DD format ↳ startTime string Start time in HH:MM format ↳ endTime string End time in HH:MM format
Get a specific schedule by ID from Cal.com
Inputs and outputsParameter Type Required Description scheduleIdstring Yes ID of the schedule to retrieve
Parameter Type Description statusstring Response status dataobject Schedule data ↳ id number Schedule ID ↳ ownerId number Owner user ID ↳ name string Schedule name ↳ timeZone string Timezone (e.g., America/New_York) ↳ isDefault boolean Whether this is the default schedule ↳ availability array Availability windows ↳ days array Days of the week (Monday, Tuesday, etc.) ↳ startTime string Start time in HH:MM format ↳ endTime string End time in HH:MM format ↳ overrides array Date-specific availability overrides ↳ date string Date in YYYY-MM-DD format ↳ startTime string Start time in HH:MM format ↳ endTime string End time in HH:MM format
List all availability schedules from Cal.com
Inputs and outputsParameter Type Required Description
Parameter Type Description statusstring Response status dataarray Array of schedule objects ↳ id number Schedule ID ↳ ownerId number Owner user ID ↳ name string Schedule name ↳ timeZone string Timezone (e.g., America/New_York) ↳ isDefault boolean Whether this is the default schedule ↳ availability array Availability windows ↳ days array Days of the week (Monday, Tuesday, etc.) ↳ startTime string Start time in HH:MM format ↳ endTime string End time in HH:MM format ↳ overrides array Date-specific availability overrides ↳ date string Date in YYYY-MM-DD format ↳ startTime string Start time in HH:MM format ↳ endTime string End time in HH:MM format
Update an existing schedule in Cal.com
Inputs and outputsParameter Type Required Description scheduleIdstring Yes ID of the schedule to update namestring No New name for the schedule timeZonestring No New timezone for the schedule (e.g., America/New_York) isDefaultboolean No Whether this schedule should be the default availabilityarray No New availability intervals for the schedule
Parameter Type Description statusstring Response status dataobject Updated schedule data ↳ id number Schedule ID ↳ ownerId number Owner user ID ↳ name string Schedule name ↳ timeZone string Timezone (e.g., America/New_York) ↳ isDefault boolean Whether this is the default schedule ↳ availability array Availability windows ↳ days array Days of the week (Monday, Tuesday, etc.) ↳ startTime string Start time in HH:MM format ↳ endTime string End time in HH:MM format ↳ overrides array Date-specific availability overrides ↳ date string Date in YYYY-MM-DD format ↳ startTime string Start time in HH:MM format ↳ endTime string End time in HH:MM format
Delete a schedule from Cal.com
Inputs and outputsParameter Type Required Description scheduleIdstring Yes ID of the schedule to delete
Parameter Type Description statusstring Response status (success or error)
Get the default availability schedule from Cal.com
Inputs and outputsParameter Type Required Description
Parameter Type Description statusstring Response status dataobject Default schedule data ↳ id number Schedule ID ↳ ownerId number Owner user ID ↳ name string Schedule name ↳ timeZone string Timezone (e.g., America/New_York) ↳ isDefault boolean Whether this is the default schedule ↳ availability array Availability windows ↳ days array Days of the week (Monday, Tuesday, etc.) ↳ startTime string Start time in HH:MM format ↳ endTime string End time in HH:MM format ↳ overrides array Date-specific availability overrides ↳ date string Date in YYYY-MM-DD format ↳ startTime string Start time in HH:MM format ↳ endTime string End time in HH:MM format
Get available booking slots for a Cal.com event type within a time range
Inputs and outputsParameter Type Required Description startstring Yes Start of time range in UTC ISO 8601 format (e.g., 2024-01-15T00:00:00Z) endstring Yes End of time range in UTC ISO 8601 format (e.g., 2024-01-22T00:00:00Z) eventTypeIdnumber No Event type ID for direct lookup eventTypeSlugstring No Event type slug (requires username to be set) usernamestring No Username for personal event types (required when using eventTypeSlug) timeZonestring No Timezone for returned slots (defaults to UTC) durationnumber No Slot length in minutes
Parameter Type Description statusstring Response status datajson Available time slots grouped by date (YYYY-MM-DD keys). Each date maps to an array of slot objects with start time, optional end time, and seated event info.
A trigger starts a workflow when a supported event occurs in this service.
Trigger workflow when a booking is cancelled in Cal.com
Configuration and outputsParameter Type Required Description webhookSecretstring No Used to verify webhook requests via X-Cal-Signature-256 header.
Parameter Type Description triggerEventstring The webhook event type createdAtstring When the webhook event was created (ISO 8601) payloadobject ↳ title string Booking title ↳ description string Booking description ↳ eventTypeId number Event type ID ↳ startTime string Booking start time (ISO 8601) ↳ endTime string Booking end time (ISO 8601) ↳ uid string Unique booking identifier ↳ bookingId number Numeric booking ID ↳ status string Booking status ↳ location string Meeting location or URL ↳ cancellationReason string Reason for cancellation ↳ organizer object Organizer details ↳ id number Organizer user ID ↳ name string Organizer name ↳ email string Organizer email ↳ username string Organizer username ↳ timeZone string Organizer timezone ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee email ↳ timeZone string Attendee timezone ↳ language string Attendee language preference ↳ responses json Booking form responses ↳ metadata json Custom metadata attached to the booking
Trigger workflow when a new booking is created in Cal.com
Configuration and outputsParameter Type Required Description webhookSecretstring No Used to verify webhook requests via X-Cal-Signature-256 header.
Parameter Type Description triggerEventstring The webhook event type createdAtstring When the webhook event was created (ISO 8601) payloadobject ↳ title string Booking title ↳ description string Booking description ↳ eventTypeId number Event type ID ↳ startTime string Booking start time (ISO 8601) ↳ endTime string Booking end time (ISO 8601) ↳ uid string Unique booking identifier ↳ bookingId number Numeric booking ID ↳ status string Booking status ↳ location string Meeting location or URL ↳ organizer object Organizer details ↳ id number Organizer user ID ↳ name string Organizer name ↳ email string Organizer email ↳ username string Organizer username ↳ timeZone string Organizer timezone ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee email ↳ timeZone string Attendee timezone ↳ language string Attendee language preference ↳ responses json Booking form responses (dynamic - fields depend on your event type configuration) ↳ metadata json Custom metadata attached to the booking (dynamic - user-defined key-value pairs) ↳ videoCallData json Video call details (structure varies by provider)
Trigger workflow when payment is completed for a paid booking
Configuration and outputsParameter Type Required Description webhookSecretstring No Used to verify webhook requests via X-Cal-Signature-256 header.
Parameter Type Description triggerEventstring The webhook event type (BOOKING_PAID) createdAtstring When the webhook event was created (ISO 8601) payloadobject ↳ title string Booking title ↳ description string Booking description ↳ eventTypeId number Event type ID ↳ startTime string Booking start time (ISO 8601) ↳ endTime string Booking end time (ISO 8601) ↳ uid string Unique booking identifier ↳ bookingId number Numeric booking ID ↳ status string Booking status ↳ location string Meeting location or URL ↳ payment object Payment details ↳ id string Payment ID ↳ amount number Payment amount ↳ currency string Payment currency ↳ success boolean Whether payment succeeded ↳ organizer object Organizer details ↳ id number Organizer user ID ↳ name string Organizer name ↳ email string Organizer email ↳ username string Organizer username ↳ timeZone string Organizer timezone ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee email ↳ timeZone string Attendee timezone ↳ language string Attendee language preference ↳ metadata json Custom metadata attached to the booking
Trigger workflow when a booking request is rejected by the host
Configuration and outputsParameter Type Required Description webhookSecretstring No Used to verify webhook requests via X-Cal-Signature-256 header.
Parameter Type Description triggerEventstring The webhook event type (BOOKING_REJECTED) createdAtstring When the webhook event was created (ISO 8601) payloadobject ↳ title string Booking title ↳ description string Booking description ↳ eventTypeId number Event type ID ↳ startTime string Requested start time (ISO 8601) ↳ endTime string Requested end time (ISO 8601) ↳ uid string Unique booking identifier ↳ bookingId number Numeric booking ID ↳ status string Booking status (rejected) ↳ rejectionReason string Reason for rejection provided by host ↳ organizer object Organizer details ↳ id number Organizer user ID ↳ name string Organizer name ↳ email string Organizer email ↳ username string Organizer username ↳ timeZone string Organizer timezone ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee email ↳ timeZone string Attendee timezone ↳ language string Attendee language preference ↳ metadata json Custom metadata attached to the booking
Trigger workflow when a booking request is submitted (pending confirmation)
Configuration and outputsParameter Type Required Description webhookSecretstring No Used to verify webhook requests via X-Cal-Signature-256 header.
Parameter Type Description triggerEventstring The webhook event type (BOOKING_REQUESTED) createdAtstring When the webhook event was created (ISO 8601) payloadobject ↳ title string Booking title ↳ description string Booking description ↳ eventTypeId number Event type ID ↳ startTime string Requested start time (ISO 8601) ↳ endTime string Requested end time (ISO 8601) ↳ uid string Unique booking identifier ↳ bookingId number Numeric booking ID ↳ status string Booking status (pending) ↳ location string Meeting location or URL ↳ organizer object Organizer details ↳ id number Organizer user ID ↳ name string Organizer name ↳ email string Organizer email ↳ username string Organizer username ↳ timeZone string Organizer timezone ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee email ↳ timeZone string Attendee timezone ↳ language string Attendee language preference ↳ responses json Booking form responses ↳ metadata json Custom metadata attached to the booking
Trigger workflow when a booking is rescheduled in Cal.com
Configuration and outputsParameter Type Required Description webhookSecretstring No Used to verify webhook requests via X-Cal-Signature-256 header.
Parameter Type Description triggerEventstring The webhook event type createdAtstring When the webhook event was created (ISO 8601) payloadobject ↳ title string Booking title ↳ description string Booking description ↳ eventTypeId number Event type ID ↳ startTime string New booking start time (ISO 8601) ↳ endTime string New booking end time (ISO 8601) ↳ uid string Unique booking identifier ↳ bookingId number Numeric booking ID ↳ status string Booking status ↳ location string Meeting location or URL ↳ rescheduleId number Previous booking ID ↳ rescheduleUid string Previous booking UID ↳ rescheduleStartTime string Original start time (ISO 8601) ↳ rescheduleEndTime string Original end time (ISO 8601) ↳ organizer object Organizer details ↳ id number Organizer user ID ↳ name string Organizer name ↳ email string Organizer email ↳ username string Organizer username ↳ timeZone string Organizer timezone ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee email ↳ timeZone string Attendee timezone ↳ language string Attendee language preference ↳ responses json Booking form responses ↳ metadata json Custom metadata attached to the booking
Trigger workflow when a Cal.com meeting ends
Configuration and outputsParameter Type Required Description webhookSecretstring No Used to verify webhook requests via X-Cal-Signature-256 header.
Parameter Type Description triggerEventstring The webhook event type (MEETING_ENDED) createdAtstring When the webhook event was created (ISO 8601) payloadobject ↳ title string Meeting title ↳ eventTypeId number Event type ID ↳ startTime string Meeting start time (ISO 8601) ↳ endTime string Meeting end time (ISO 8601) ↳ uid string Unique booking identifier ↳ bookingId number Numeric booking ID ↳ duration number Actual meeting duration in minutes ↳ organizer object Organizer details ↳ id number Organizer user ID ↳ name string Organizer name ↳ email string Organizer email ↳ username string Organizer username ↳ timeZone string Organizer timezone ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee email ↳ timeZone string Attendee timezone ↳ language string Attendee language preference ↳ videoCallData json Video call details
Trigger workflow when a meeting recording is ready for download
Configuration and outputsParameter Type Required Description webhookSecretstring No Used to verify webhook requests via X-Cal-Signature-256 header.
Parameter Type Description triggerEventstring The webhook event type (RECORDING_READY) createdAtstring When the webhook event was created (ISO 8601) payloadobject ↳ title string Meeting title ↳ eventTypeId number Event type ID ↳ startTime string Meeting start time (ISO 8601) ↳ endTime string Meeting end time (ISO 8601) ↳ uid string Unique booking identifier ↳ bookingId number Numeric booking ID ↳ recordingUrl string URL to download the recording ↳ transcription string Meeting transcription text (if available) ↳ organizer object Organizer details ↳ id number Organizer user ID ↳ name string Organizer name ↳ email string Organizer email ↳ username string Organizer username ↳ timeZone string Organizer timezone ↳ attendees array List of attendees ↳ name string Attendee name ↳ email string Attendee email ↳ timeZone string Attendee timezone ↳ language string Attendee language preference
Trigger workflow on any Cal.com webhook event (configure event types in Cal.com)
Configuration and outputsParameter Type Required Description webhookSecretstring No Used to verify webhook requests via X-Cal-Signature-256 header.
Parameter Type Description triggerEventstring The webhook event type (e.g., BOOKING_CREATED, MEETING_ENDED) createdAtstring When the webhook event was created (ISO 8601) payloadjson Complete webhook payload (structure varies by event type)