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
- Log into your Cal.com account.
- Create a new event and give it a name (e.g., Consultation, Site Visit).
- Add a description if required and set the event duration.
- Click Continue.
- 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
- Once the event is saved, locate the Event Type ID — this is the numeric code shown in the URL or event settings.
- Copy this ID — you will need it in the next step.
Generate an API Key
- In Cal.com, navigate to Settings → Developer → API Keys.
- Click Add New API Key and give it a name.
- Set an expiration date or select Never Expire.
- Click Save — your API key will be generated and displayed once.
- Copy the API key immediately and store it securely.
Part 2 – Connect Cal.com to the Agent
- Navigate to Call Flows and locate the agent you want to integrate.
- Ensure you are in the Advanced View.
- Go to Integrations and click Cal.com.
- Enter the following details:
- Select the Time Zone relevant to the bookings.
- Optionally, enter an Availability ID if you have configured specific availability windows in Cal.com.
- 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.
- 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
- Go to Function Templates within the Cal.com integration panel — this contains the prompt syntax required to activate the Cal.com functions.
- Copy the relevant syntax and paste it into the agent’s system prompt at the appropriate point in the call flow.
- The prompt should define when the agent checks availability and when it creates a booking.
- 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 |