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.
Do not make any new fields required in your Cal.com event settings. The integration only supports default fields and the optional phone field. Adding required custom fields will cause the integration to fail.

Prerequisites

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

Setup Process

1. Cal.com Configuration

  1. Sign up or log in to your Cal.com account
  2. Create a new event type specifically for AI assistant bookings
    • Give it a clear name like “Meeting with AI Assistant”
    • Configure duration, availability, and other settings
  3. Once created, note down the event ID from the URL
  4. Generate an API key:
    • Go to Cal.com settings
    • Navigate to Developer Settings
    • Create a new API key
    • Copy and securely store the API key

2. Customer Contact Information

Email Configuration

To send calendar invites to customers:
  1. Define email in your assistant’s input variables
  2. Pass the customer’s email as the email variable when creating the lead
  3. The system will automatically use this email for calendar invitations

Phone Number in Calendar Events

To include the caller’s phone number in calendar events:
  1. Go to your event settings in Cal.com
  2. Click on “Add a question”
  3. Configure the field with these exact values:
    • Identifier: phone (this must be exact)
  4. Save your changes

3. Adding Cal.com to Your Assistant

  1. In your AI assistant settings, locate the Tools section
  2. Add the Cal.com integration
  3. Configure the tool with:
    • Your Cal.com API key
    • The event type ID

Best Practices

  • Create dedicated event types for AI bookings to track their usage
  • Set clear buffer times between meetings
  • Configure appropriate meeting durations
  • Use descriptive event names that make sense to your customers
  • Keep only default fields and the phone field optional
  • Always include customer email in lead creation for calendar invites

Testing

After setup, we recommend:
  1. Making a test call to your AI assistant
  2. Requesting to schedule a meeting
  3. Verifying the booking appears in your Cal.com dashboard
  4. Checking that the phone number appears in the calendar event
  5. Verifying the customer receives the calendar invitation email
  6. Checking the confirmation emails are received

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.

Troubleshooting

If you encounter issues:
  • Verify your API key is active and has the correct permissions
  • Ensure the event type ID is correct
  • Check that your Cal.com availability is properly configured
  • Confirm no required custom fields are added
  • Verify the phone field identifier is exactly “phone”
  • Confirm the email variable is properly set in assistant settings
  • Check that customer email is being passed correctly in leads
  • Confirm your timezone settings are correct