Skip to main content
Enable your AI assistant to seamlessly schedule meetings and appointments using Cal.com integration. This powerful feature allows your AI to check availability and book meetings directly during calls.

Prerequisites

Before setting up Cal.com integration, you’ll need:
  • A Cal.com account (Cal.com US, Cal.com EU, or self-hosted Cal.com)
  • An event type configured in Cal.com
  • An API key from Cal.com

Setup

1. Get API Key

  1. Log in to Cal.com
  2. Go to SettingsDeveloperAPI Keys
  3. Create a new API key and copy it

2. Select Your Region

Cal.com offers different API regions. Choose the one that matches your Cal.com account:
RegionAPI Endpoint
US (default)api.cal.com
EUapi.cal.eu
CustomYour self-hosted Cal.com endpoint
Select your region in the Cal.com configuration panel before connecting. If you’re unsure, the US endpoint is the default.

3. Connect Cal.com

  1. In your assistant settings → Tools tab → Appointment Scheduling
  2. Select Cal.com from calendar type
  3. Choose your API region
  4. Paste your API key
  5. Select an event from the dropdown

4. Sync Event

Click the “Sync Event” button to automatically configure booking fields.
The sync automatically reads your event type’s custom fields and configures them for the AI assistant. Name, email, and phone are set as required. All other custom booking fields are imported automatically.

Event Types

Personal Events

Select from your personal event types (e.g., 15-minute intro call, 30-minute consultation).

Team Events

You can also book into team event types. When your API key has access to team calendars, team events appear in the event dropdown grouped separately from personal events.
Team events are useful when you want the AI to book meetings that get distributed across your team members based on their availability.

Dynamic Booking Fields

When you sync an event, the system automatically reads all custom booking fields configured on that event type in Cal.com. This means:
  • No manual field configuration — fields are fetched directly from your Cal.com event type
  • Custom fields supported — any custom fields you add to your Cal.com event type are automatically available
  • Auto-refresh on sync — click “Sync Event” again if you change your Cal.com event’s booking fields

Multiple Calendars

Click ”+” next to Appointment Scheduling to add more calendars (e.g., 15min, 30min meetings).

Email Setup

For calendar invites to work:
  1. Define email in assistant input variables
  2. Pass customer email when creating leads
The phone number is automatically included after sync.

Fetching Multiple Days at Once

To enable your AI assistant to retrieve available time slots across multiple days using Cal.com, you’ll need to create a custom mid-call tool that calls the Cal.com slots API.
1

Create a Mid-Call Action

  1. Navigate to your assistant settings and create a new mid-call action
  2. Configure the tool with the following details:
    • Endpoint: https://api.cal.com/v2/slots?eventTypeId=YOUR_EVENT_ID&timeZone=YOUR_TIMEZONE
    • Method: GET
    • Headers: Add the cal-api-version header with value 2024-09-04
Mid-call action configuration for Cal.com slots API
The eventTypeId in the endpoint URL is an example. You’ll need to replace it with your actual event type ID from Cal.com.
2

Get Your Event Type ID

  1. Go to Cal.com and navigate to your event
  2. Click on the event you want to use
  3. Look at the URL in your browser - the event ID is the number in the URL
  4. Copy this ID and replace YOUR_EVENT_ID in the endpoint URL
3

Set Your Timezone

Replace YOUR_TIMEZONE in the endpoint URL with your timezone in the format continent/city (e.g., europe/berlin, america/new_york, asia/tokyo).
4

Add Tool Parameters

Configure the following parameters for your tool:
  • start (String): Start date to look up in the calendar, e.g., 2025-11-10
  • end (String): End date to look up in the calendar, e.g., 2025-11-17
These parameters allow the AI to dynamically specify the date range when calling the API.
5

Assign the Tool to Your Assistant

  1. Open your assistant settings
  2. Navigate to the “Prompt & Tools” tab (second tab)
  3. In the “Custom mid call tools” section, click ”+ Create tool” or select your newly created tool
  4. Add the tool to your assistant
Assigning custom tool to assistant in Prompt & Tools section
6

Update Your System Prompt

Add instructions to your system prompt to tell the AI when and how to use this tool. For example:
Perform a function call using get_calendar_slots to retrieve true available time slots across multiple days.
This ensures the AI knows to use the tool when customers ask about availability over multiple days.
Make sure the tool name matches what you reference in your system prompt. If you named your tool get_calendar_slots, use that exact name in the prompt instructions.

Backward Compatibility

If you already have a Cal.com integration configured, your existing settings continue to work without changes. The region defaults to US, and existing field configurations are preserved. You can optionally re-sync to take advantage of dynamic booking fields.

Troubleshooting

Invalid API Key: Verify it’s active in Cal.com settings and includes cal_live_ prefix Sync Failed: Click “Troubleshoot” button to reset fields No Invites Sent: Ensure email variable is defined and passed with leads Field Errors: Use “Troubleshoot” to reset. Only name, email, phone should be required. Wrong Region: If you get authentication errors, check that you selected the correct region (EU accounts must use the EU endpoint).
For detailed troubleshooting, see Cal.com Issues.

Testing

  1. Make a test call and request a meeting
  2. Verify booking appears in Cal.com
  3. Check calendar invitation email was received