Skip to main content
Cal.com logo

Overview

Add Cal.com to any ModuleX agent or workflow. Scheduling and booking management via the Cal.com v2 REST API (api.cal.com/v2).
Categories: Scheduling & Events · Productivity & Collaboration · Scheduling · Calendar · Auth: API Key · Actions: 6

Authentication

API Key

Authenticate using your Cal.com v2 API key
1

Step 1

Sign in to Cal.com at https://app.cal.com
2

Step 2

Navigate to Settings > Developer > API Keys
3

Step 3

Create a new API key or copy an existing one
4

Step 4

Paste the API key below

Required Credentials

Available Actions

Parameters

string
required
Type of booking: booking, instant, or recurring
string
required
Full name of the attendee
string
required
Time zone of the attendee, e.g. America/New_York
string
required
Booking start time in ISO 8601 UTC format, e.g. 2024-08-13T09:00:00Z
string
Email address of the attendee
string
Phone number in international format, e.g. +919876543210
string
Language for the booking confirmation
integer
ID of the event type (alternative to slug-based identification)
string
Slug of the event type (use with username or team_slug)
string
Username of the individual event owner
string
Team slug for team event type identification
string
Organization slug for slug-based event type identification
string
Booking end time in ISO 8601 format
integer
Override the event type default duration in minutes
array
Additional guest email addresses to invite
string
Meeting location type: attendeeAddress, attendeeDefined, attendeePhone, integration
string
Physical address if location is attendeeAddress
string
Location string if location is attendeeDefined
string
Phone number if location is attendeePhone
string
Video conferencing integration if location is integration
integer
Number of occurrences for recurring booking type
object
Custom key-value metadata, e.g. {“source”: “website”}
object
Responses to custom booking form fields keyed by field slug
boolean
Bypass availability checks and allow double-booking
boolean
Allow booking outside the event type scheduling window
string
Required when event type has email verification enabled

Response

Parameters

string
required
The UID of the booking to cancel
string
The reason for cancelling the booking
boolean
Whether to cancel all subsequent occurrences of a recurring booking

Response

Parameters

integer
Maximum number of pages to fetch (1-500, default 50)
array
Filter by status: upcoming, recurring, past, cancelled, unconfirmed
string
Return bookings that start after this time (ISO 8601)
string
Return bookings that end before this time (ISO 8601)
string
Return bookings created after this time (ISO 8601)
string
Return bookings created before this time (ISO 8601)
string
Filter bookings by attendee email
string
Filter bookings by attendee name
string
Filter bookings by booking UID
integer
Filter bookings by event type ID
string
Sort bookings by start time: asc or desc
string
Sort bookings by end time: asc or desc
string
Sort bookings by creation time: asc or desc

Response

Parameters

string
required
Start date/time in ISO 8601 format (UTC)
string
required
End date/time in ISO 8601 format (UTC)
integer
ID of the event type to get slots for
string
Slug of the event type (requires username or team_slug)
string
Username of the individual event owner
array
List of at least 2 usernames for a dynamic event
string
Slug of the team for team event type slot lookup
string
Organization slug for slug-based event type lookup
string
The time zone for the slot lookup
integer
Override the default slot duration in minutes
string
Response format: range (start and end) or time (start only)
string
UID of the booking being rescheduled to exclude from busy calculations

Response

Parameters

string
required
The UID of the booking to retrieve

Response

Response

Limits & Quotas

  • Cal.com does not publicly document rate limits for the v2 API; enterprise plans may have higher thresholds.
  • The free tier has a limited number of event types and team members.
  • Error model: non-2xx responses and timeouts are caught and returned as success=False + error rather than raising.

Calendly

Google Calendar

Luma