Articles in this section

Integrating Cal.com

Published:

Overview

This guide explains how to integrate Cal.com with an AI Voice Agent to enable real-time calendar booking during calls. Cal.com connects with Outlook and Gmail calendars, allowing the agent to check availability and create bookings without any manual follow-up.


Before You Begin

You will need:

  • A Cal.com account with at least one event configured
  • A Cal.com API key
  • The Event Type ID for the event you want to use

Part 1 – Set Up Cal.com

Create an Event

  1. Log into your Cal.com account.
  2. Create a new event and give it a name (e.g., Consultation, Site Visit).
  3. Add a description if required and set the event duration.
  4. Click Continue.
  5. Configure additional settings as needed:
    • Location – in-person, Microsoft Teams, or other options
    • Availability – set the windows during which bookings can be made
    • Limits – cap the number of bookings per day or week if required

Get the Event Type ID

  1. Once the event is saved, locate the Event Type ID — this is the numeric code shown in the URL or event settings.
  2. Copy this ID — you will need it in the next step.

Generate an API Key

  1. In Cal.com, navigate to Settings → Developer → API Keys.
  2. Click Add New API Key and give it a name.
  3. Set an expiration date or select Never Expire.
  4. Click Save — your API key will be generated and displayed once.
  5. Copy the API key immediately and store it securely.

Part 2 – Connect Cal.com to the Agent

  1. Navigate to Call Flows and locate the agent you want to integrate.
  2. Ensure you are in the Advanced View.
  3. Go to Integrations and click Cal.com.
  4. Enter the following details:
    • API Key – paste the API key generated in Cal.com
    • Event Type ID – paste the numeric ID from the Cal.com event
  5. Select the Time Zone relevant to the bookings.
  6. Optionally, enter an Availability ID if you have configured specific availability windows in Cal.com.
  7. Enter a Text to Speak message — this is what the agent will say while the booking function is being executed (e.g., “Just give me a moment while I check availability for you”). This prevents silence during the lookup.
  8. If you want additional information captured during the call to be included in the calendar booking (e.g., a caller’s address for a site visit), map the relevant dynamic variables to the corresponding Cal.com booking fields.

Part 3 – Update the System Prompt

  1. Go to Function Templates within the Cal.com integration panel — this contains the prompt syntax required to activate the Cal.com functions.
  2. Copy the relevant syntax and paste it into the agent’s system prompt at the appropriate point in the call flow.
  3. The prompt should define when the agent checks availability and when it creates a booking.
  4. Click Save, then click Save to Draft or Publish to Production.

Key Notes

Item Details
Cal.com Account Must be set up and configured before connecting to the portal
Event Type ID Found in the Cal.com event URL or settings — numeric code
API Key Generated once in Cal.com — copy it immediately before closing the window
Text to Speak Always configure a holding message to avoid silence during the calendar lookup
Dynamic Variables Call data (e.g., caller address) can be passed into the Cal.com booking at the time of creation
Function Templates Must be copied into the system prompt for the integration to work
Advanced View Must be enabled to access the Cal.com integration

🎥 Watch the demo video below



Access denied
Access denied