Skip to main content
Calendar integrations enable Cal.com to check your availability across connected calendars and automatically create events when bookings are confirmed. Cal.com supports two-way sync with all major calendar providers.

Available calendar integrations

Google Calendar

Most popular - full two-way sync with Google Workspace

Outlook Calendar

Microsoft 365 and Exchange Server support

Apple Calendar

iCloud calendar integration

CalDAV

Connect any CalDAV-compatible calendar provider

Other supported calendars

  • Exchange 2013 - Legacy Exchange Server 2013
  • Exchange 2016 - Exchange Server 2016
  • Lark Calendar - Lark Suite integration
  • Feishu Calendar - ByteDance Feishu/Lark
  • Zoho Calendar - Zoho suite calendar
  • ICS Feed - Subscribe to read-only ICS calendar feeds

Google Calendar

Setup instructions

1

Install the integration

Navigate to Settings > Apps, search for “Google Calendar”, and click Install.
2

Authenticate with Google

You’ll be redirected to Google to grant calendar access permissions. Sign in with your Google account.
3

Grant permissions

Approve access to view, edit, and create calendar events. Cal.com needs these permissions to check availability and create bookings.
4

Select calendars

Choose which Google Calendars to check for conflicts. You can select multiple calendars.
5

Choose destination calendar

Select which calendar should receive new Cal.com bookings. This can be different from your conflict-check calendars.

Features

  • Two-way sync - Events created in either system appear in both
  • Conflict prevention - Cal.com checks selected calendars before offering time slots
  • Multiple calendar support - Check conflicts across multiple Google Calendars
  • Automatic event creation - Bookings appear in your Google Calendar instantly
  • Event updates - Reschedules and cancellations sync automatically
  • Guest management - Attendees added to Google Calendar events with video links

Configuration

After connecting Google Calendar:
// Calendar is configured via UI, but stored metadata looks like:
{
  type: "google_calendar",
  calendarsToCheckForConflicts: ["primary", "[email protected]"],
  destinationCalendar: "primary"
}
Google Calendar requires OAuth credentials. Self-hosted instances need to set GOOGLE_API_CREDENTIALS in environment variables.

Troubleshooting

  • Verify calendar permissions in Google Account settings
  • Check that the destination calendar is selected
  • Ensure the calendar isn’t full (Google has a 25,000 event limit per calendar)
  • Re-authenticate by disconnecting and reconnecting the integration
  • Confirm your timezone is set correctly in Cal.com Settings
  • Check that conflict calendars are selected
  • Verify events in Google Calendar have the correct timezone
  • Allow up to 5 minutes for calendar sync
For self-hosted: Verify GOOGLE_API_CREDENTIALS is valid JSON and includes correct redirect URIs matching your Cal.com domain.

Outlook Calendar (Microsoft 365)

Setup instructions

1

Install Outlook Calendar

Go to Settings > Apps, find “Outlook Calendar”, and click Install.
2

Sign in with Microsoft

Authenticate with your Microsoft 365 or Outlook.com account.
3

Grant permissions

Allow Cal.com to read and write calendar data.
4

Configure calendars

Select which Outlook calendars to monitor for conflicts and where to create new events.

Features

  • Microsoft 365 integration - Full support for Office 365 and Outlook.com
  • Exchange Server compatibility - Works with Exchange 2013, 2016, and Online
  • Teams integration - Can create MS Teams meetings (requires separate MS Teams app)
  • Shared calendar support - Access to shared and delegate calendars
  • Recurring event handling - Respects recurring event patterns for availability
Microsoft personal accounts (Outlook.com, Hotmail) have limited API access compared to work/school accounts. Some features may require a Microsoft 365 Business subscription.

Apple Calendar (iCloud)

Setup instructions

1

Install Apple Calendar

Find “Apple Calendar” in Settings > Apps and click Install.
2

Provide credentials

Enter your iCloud email and an app-specific password (not your regular iCloud password).
3

Generate app-specific password

Visit appleid.apple.com > Sign-In and Security > App-Specific Passwords to create one.
4

Complete setup

Cal.com will connect to your iCloud calendar using CalDAV protocol.

Requirements

  • iCloud account with calendar enabled
  • App-specific password (required for third-party access)
  • Two-factor authentication enabled on your Apple ID
Apple Calendar uses the CalDAV protocol under the hood. The integration automatically configures the correct CalDAV server settings for iCloud.

CalDAV

Connect any CalDAV-compatible calendar provider, including:
  • Fastmail
  • Nextcloud
  • Radicale
  • Baikal
  • SabreDAV
  • Custom CalDAV servers

Setup instructions

1

Gather CalDAV details

You need: CalDAV server URL, username, and password from your calendar provider.
2

Install CalDAV integration

Go to Settings > Apps and install “CalDAV (Beta)”.
3

Enter server details

Provide your CalDAV server URL (e.g., https://caldav.example.com/), username, and password.
4

Test connection

Cal.com will verify the connection and list available calendars.
5

Select calendars

Choose which calendars to use for conflict checking and event creation.

Common CalDAV providers

Server URL: https://caldav.fastmail.com/dav/calendars/user/{username}/Username: Your Fastmail emailPassword: Use an app password from Settings > Privacy & Security > App Passwords
CalDAV is marked “Beta” because different CalDAV servers implement the specification differently. Most providers work well, but some may have quirks.

Calendar sync behavior

Availability checking

When someone books a time with you:
  1. Cal.com queries all connected calendars for events in the requested time range
  2. Busy times are excluded from available slots
  3. Only free times matching your availability rules are offered
  4. Multi-calendar conflicts are detected automatically

Event creation

When a booking is confirmed:
  1. Cal.com creates an event in your selected destination calendar
  2. The event includes:
    • Booking title and description
    • Attendee information (name, email)
    • Video conferencing link (if configured)
    • Location or meeting instructions
    • Cal.com metadata for tracking
  3. Attendees receive calendar invitations
  4. The event appears in both Cal.com and your calendar

Updates and cancellations

  • Reschedules - Original event is updated with new time
  • Cancellations - Event is removed from calendar or marked as cancelled
  • Manual changes - Editing events directly in your calendar provider may break sync
Avoid manually editing Cal.com-created events in your calendar. Changes may not sync back to Cal.com and could cause booking conflicts.

Multiple calendar setup

You can connect multiple calendar providers simultaneously:
Connected calendars:
  ✓ Google Calendar ([email protected])
  ✓ Google Calendar ([email protected])
  ✓ Outlook Calendar ([email protected])
  ✓ Apple Calendar ([email protected])

Conflict checking:
  Check all 4 calendars before offering availability

Destination:
  Create new bookings in [email protected] (Google)
This setup ensures no conflicts across all your calendars while centralizing bookings in one place.

Best practices

Connect all calendars you use regularly - Include work, personal, and shared calendars to prevent double-bookings.
Choose a primary destination calendar - Pick the calendar you check most often to receive Cal.com bookings.
Set consistent timezones - Ensure your Cal.com timezone matches your calendar provider’s timezone.
Use all-day events for busy days - Create all-day “Busy” events in your calendar for days you’re unavailable.
Test after setup - Book a test appointment to verify events appear correctly in your calendar.

Environment variables (self-hosted)

Self-hosted Cal.com instances require API credentials for some calendar providers:
# Google Calendar
GOOGLE_API_CREDENTIALS='{"web":{"client_id":"...","client_secret":"...","redirect_uris":["https://yourdomain.com/api/integrations/googlecalendar/callback"]}}'

# Microsoft 365 / Outlook
MS_GRAPH_CLIENT_ID=your_client_id
MS_GRAPH_CLIENT_SECRET=your_client_secret
Apple Calendar and CalDAV don’t require API keys - they use username/password authentication.

Troubleshooting common issues

Events not appearing in calendar

  1. Verify the integration is connected in Settings > Apps
  2. Check that a destination calendar is selected
  3. Confirm you have write permissions to the destination calendar
  4. Re-authenticate the integration

Incorrect availability

  1. Ensure all calendars are selected for conflict checking
  2. Verify events in your calendar have correct timezones
  3. Check that availability rules in Cal.com match your schedule
  4. Wait a few minutes for calendar sync (APIs can have delays)

OAuth errors

  1. For self-hosted: Verify redirect URIs in OAuth app settings match your domain
  2. Check that environment variables are set correctly
  3. Ensure your OAuth app has the required scopes/permissions
  4. Try revoking access in your calendar provider and reconnecting

Next steps

Video conferencing

Add video meeting links to calendar events

Event types

Configure event types with calendar integrations

Build docs developers (and LLMs) love