Cal.com
A fully customizable scheduling software for individuals, businesses taking calls and developers building scheduling platforms where users meet users.
Categories: Communication
Type: calcom/v1
Connections
Version: 1
API Key Authorization
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
token | Api Key | STRING | Can be found in Settings -> Developer -> API keys. | true |
Triggers
Booking Canceled
Name: bookingCanceled
Triggers when a booking is canceled.
Type: DYNAMIC_WEBHOOK
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
bookerUrl | STRING | Booker URL. |
title | STRING | Title of the booking. |
length | INTEGER | Length of the booking. |
type | STRING | Type of the booking. |
additionalNotes | STRING | Additional notes of the booking. |
description | STRING | Description of the booking. |
customInputs | OBJECT Properties{} | Custom inputs of the booking. |
eventTypeId | INTEGER | ID of the event type of the booking. |
userFieldsResponses | OBJECT Properties{} | User field responses of the booking. |
responses | OBJECT Properties{{{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(name), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(email), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(location), {STRING(label), BOOLEAN(isHidden)}(title), {STRING(label), BOOLEAN(isHidden)}(notes), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(guests), {STRING(label), BOOLEAN(isHidden)}(rescheduleReason)} | Responses of the booking. |
startTime | STRING | Start time of the booking. |
endTime | STRING | End time of the booking. |
organizer | OBJECT Properties{{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(personRecord)} | Organizer of the booking. |
attendees | ARRAY Items[{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}($personRecord)] | Attendees of the booking. |
uid | STRING | UID of the booking. |
bookingId | INTEGER | ID of the booking. |
location | STRING | Location of the booking. |
destinationCalendar | ARRAY Items[{INTEGER(id), STRING(integration), STRING(externalId), STRING(primaryEmail), INTEGER(userId), INTEGER(eventTypeId), INTEGER(credentialId), INTEGER(delegationCredentialId), INTEGER(domainWideDelegationCredentialId)}($calendar)] | Destination calendar of the booking. |
cancellationReason | STRING | Cancellation reason of the booking cancellation. |
seatsPerTimeSlot | INTEGER | How many seats are available in the booking timeslot. |
seatsShowAttendees | BOOLEAN Optionstrue, false | Whether the seats show attendees. |
iCalUID | STRING | UID of the iCal. |
iCalSequence | INTEGER | Sequence of the iCal. |
hideOrganizerEmail | BOOLEAN Optionstrue, false | Whether the organizer email is hidden. |
customReplyToEmail | STRING | Custom reply to the email. |
eventTitle | STRING | Event title of the booking. |
eventDescription | STRING | Event description of the booking. |
requiresConfirmation | BOOLEAN Optionstrue, false | Whether booking requires confirmation. |
price | INTEGER | Price of the booking. |
currency | STRING | Currency of the price of the booking. |
status | STRING | Status of the booking |
cancelledBy | STRING | User that cancelled the booking. |
JSON Example
{
"label" : "Booking Canceled",
"name" : "bookingCanceled",
"type" : "calcom/v1/bookingCanceled"
}
Booking Created
Name: bookingCreated
Triggers when a booking is created.
Type: DYNAMIC_WEBHOOK
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
bookerUrl | STRING | Booker URL. |
title | STRING | Title of the booking. |
startTime | STRING | Start time of the booking. |
endTime | STRING | End time of the booking. |
additionalNotes | STRING | Additional notes of the booking. |
type | STRING | Type of the booking. |
description | STRING | Description of the booking. |
eventTypeId | INTEGER | ID of the event type of the booking. |
hideCalendarNotes | BOOLEAN Optionstrue, false | Whether the calendar notes are hidden. |
hideCalendarEventDetails | BOOLEAN Optionstrue, false | Whether the calendar event details are hidden. |
hideOrganizerEmail | BOOLEAN Optionstrue, false | Whether the organizer email is hidden. |
schedulingType | STRING | Scheduling type of the booking |
seatsPerTimeSlot | INTEGER | How many seats are available in the booking timeslot. |
seatsShowAttendees | BOOLEAN Optionstrue, false | Whether the seats show attendees. |
seatsShowAvailabilityCount | BOOLEAN Optionstrue, false | Whether the seats show availability count. |
customReplyToEmail | STRING | Custom reply to the email. |
organizer | OBJECT Properties{{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(personRecord)} | Organizer of the booking. |
attendees | ARRAY Items[{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}($personRecord)] | Attendees of the booking. |
customInputs | OBJECT Properties{} | Custom inputs of the booking. |
responses | OBJECT Properties{{{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(name), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(email), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(location), {STRING(label), BOOLEAN(isHidden)}(title), {STRING(label), BOOLEAN(isHidden)}(notes), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(guests), {STRING(label), BOOLEAN(isHidden)}(rescheduleReason)} | Responses of the booking. |
userFieldsResponses | OBJECT Properties{} | User field responses of the booking. |
location | STRING | Location of the booking. |
destinationCalendar | ARRAY Items[{INTEGER(id), STRING(integration), STRING(externalId), STRING(primaryEmail), INTEGER(userId), INTEGER(eventTypeId), INTEGER(credentialId), INTEGER(delegationCredentialId), INTEGER(domainWideDelegationCredentialId)}($calendar)] | Destination calendar of the booking. |
iCalUID | STRING | UID of the iCal. |
iCalSequence | INTEGER | Sequence of the iCal. |
requiresConfirmation | BOOLEAN Optionstrue, false | Whether booking requires confirmation. |
oneTimePassword | STRING | One time password of the booking. |
uid | STRING | UID of the booking. |
conferenceData | OBJECT Properties{{STRING(requestId)}(createRequest)} | Conference data of the booking. |
appsStatus | ARRAY Items[{STRING(appName), STRING(type), INTEGER(success), INTEGER(failures), [STRING($error)](errors), [STRING($warning)](warnings)}($app)] | Application status of the booking. |
eventTitle | STRING | Event title of the booking. |
eventDescription | STRING | Event description of the booking. |
price | INTEGER | Price of the booking. |
currency | STRING | Currency of the price of the booking. |
length | INTEGER | Length of the booking. |
bookingId | INTEGER | ID of the booking. |
metadata | OBJECT Properties{} | Metadata of the booking. |
status | STRING | Status of the booking |
JSON Example
{
"label" : "Booking Created",
"name" : "bookingCreated",
"type" : "calcom/v1/bookingCreated"
}
Booking Ended
Name: bookingEnded
Triggers when a booking ends.
Type: DYNAMIC_WEBHOOK
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
type | STRING | Type of the meeting that ended. |
title | STRING | Title of the meeting that ended. |
startTime | STRING | Start time of the booking. |
endTime | STRING | End time of the booking. |
attendees | ARRAY Items[{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}($personRecord)] | Attendees of the booking. |
organizer | OBJECT Properties{{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(personRecord)} | Organizer of the booking. |
JSON Example
{
"label" : "Booking Ended",
"name" : "bookingEnded",
"type" : "calcom/v1/bookingEnded"
}
Booking Rescheduled
Name: bookingRescheduled
Triggers when a booking is rescheduled.
Type: DYNAMIC_WEBHOOK
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
bookerUrl | STRING | Booker URL. |
title | STRING | Title of the booking. |
startTime | STRING | Start time of the booking. |
endTime | STRING | End time of the booking. |
additionalNotes | STRING | Additional notes of the booking. |
type | STRING | Type of the booking. |
description | STRING | Description of the booking. |
eventTypeId | INTEGER | ID of the event type of the booking. |
hideCalendarNotes | BOOLEAN Optionstrue, false | Whether the calendar notes are hidden. |
hideCalendarEventDetails | BOOLEAN Optionstrue, false | Whether the calendar event details are hidden. |
hideOrganizerEmail | BOOLEAN Optionstrue, false | Whether the organizer email is hidden. |
schedulingType | STRING | Scheduling type of the booking |
seatsPerTimeSlot | INTEGER | How many seats are available in the booking timeslot. |
seatsShowAttendees | BOOLEAN Optionstrue, false | Whether the seats show attendees. |
seatsShowAvailabilityCount | BOOLEAN Optionstrue, false | Whether the seats show availability count. |
customReplyToEmail | STRING | Custom reply to the email. |
organizer | OBJECT Properties{{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(personRecord)} | Organizer of the booking. |
attendees | ARRAY Items[{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}($personRecord)] | Attendees of the booking. |
customInputs | OBJECT Properties{} | Custom inputs of the booking. |
responses | OBJECT Properties{{{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(name), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(email), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(location), {STRING(label), BOOLEAN(isHidden)}(title), {STRING(label), BOOLEAN(isHidden)}(notes), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(guests), {STRING(label), BOOLEAN(isHidden)}(rescheduleReason)} | Responses of the booking. |
userFieldsResponses | OBJECT Properties{} | User field responses of the booking. |
location | STRING | Location of the booking. |
destinationCalendar | ARRAY Items[{INTEGER(id), STRING(integration), STRING(externalId), STRING(primaryEmail), INTEGER(userId), INTEGER(eventTypeId), INTEGER(credentialId), INTEGER(delegationCredentialId), INTEGER(domainWideDelegationCredentialId)}($calendar)] | Destination calendar of the booking. |
iCalUID | STRING | UID of the iCal. |
iCalSequence | INTEGER | Sequence of the iCal. |
requiresConfirmation | BOOLEAN Optionstrue, false | Whether booking requires confirmation. |
oneTimePassword | STRING | One time password of the booking. |
uid | STRING | UID of the booking. |
videoCallData | OBJECT Properties{STRING(type), INTEGER(id), STRING(password), STRING(uri)} | Video call data of the booking. |
rescheduledBy | STRING | Booking rescheduled by user. |
conferenceData | OBJECT Properties{{STRING(requestId)}(createRequest)} | Conference data of the booking. |
appsStatus | ARRAY Items[{STRING(appName), STRING(type), INTEGER(success), INTEGER(failures), [STRING($error)](errors), [STRING($warning)](warnings)}($app)] | Application status of the booking. |
eventTitle | STRING | Event title of the booking. |
eventDescription | STRING | Event description of the booking. |
price | INTEGER | Price of the booking. |
currency | STRING | Currency of the price of the booking. |
length | INTEGER | Length of the booking. |
bookingId | INTEGER | ID of the booking. |
rescheduleId | INTEGER | ID of the rescheduled booking. |
rescheduleUid | STRING | UID of the rescheduled booking. |
rescheduleStartTime | STRING | Rescheduled start time of the booking. |
rescheduleEndTime | STRING | Rescheduled end time of the booking. |
metadata | OBJECT Properties{} | Metadata of the booking. |
status | STRING | Status of the booking |
JSON Example
{
"label" : "Booking Rescheduled",
"name" : "bookingRescheduled",
"type" : "calcom/v1/bookingRescheduled"
}
Additional instructions
Brevo
Brevo is an email marketing platform that offers a cloud-based marketing communication software suite with transactional email, marketing automation, customer-relationship management and more.
Calendly
Calendly is a scheduling tool that allows users to easily set up and manage appointments and meetings.