> For a complete page index, fetch https://docs.synthflow.ai/llms.txt. For full documentation content, fetch https://docs.synthflow.ai/llms-full.txt.

# Cal.com

> Connect Cal.com to Synthflow so voice agents can schedule meetings and bookings during live calls.

![Synthflow AI integration with Cal.com](https://storage.googleapis.com/granular-changelog/doc-images/calcom_cover.svg)

## Overview

Cal.com + Synthflow lets your AI voice agents book meetings directly into your Cal.com calendars. Typical outcomes include real‑time booking during live calls, a 24/7 AI receptionist that captures leads after hours, and instant scheduling handoffs to humans.

## Prerequisites

* A Cal.com account with at least one published event type.
* Proper availability configured in Cal.com (hosts, time buffers, timezones, and booking windows).
* A Synthflow agent created and accessible to you.
* Access to Synthflow Actions and the Real‑Time Booking action.

## Set up the integration

### Connect your Cal.com account

Navigate to **Admin** → **Workspace Settings** → **Integrations** → **Cal.com** and provide your Cal.com API key.

### Select your Cal.com event

After your Cal.com account is connected, Synthflow fetches your published event types.

1. Create or edit a **Real-Time Booking** action and choose Cal.com as the provider.
2. Open the **Event** control and pick the event this action should book from the list (synced from your Cal.com account).
3. Press **Save** to finish creating your action.

![](https://storage.googleapis.com/granular-changelog/doc-images/calcom_event_id.png)

## Use‑case examples

* **Real‑time booking during calls**: The agent proposes slots, confirms a time, and instantly creates a Cal.com booking.
* [**24/7 AI receptionist**](https://synthflow.ai/ai-receptionist): Outside business hours, your agent still schedules meetings so you never miss a lead.
* **Qualification + scheduling**: Ask a few qualifying questions before offering times, then book with the right host or event.

## Troubleshooting

* **Calendar/event not showing**: Verify the Cal.com event is published, that your API key connection is valid, and that you selected the correct event in the action. Make sure the event is visible to the host and not restricted by team settings.
* **Booking not created**: Confirm the Real‑Time Booking action is attached to the agent and that your prompt contains a clear instruction to schedule. Check [call logs](/logs#call-logs) for any errors in booking.
* **No availability returned**: Ensure host calendars are connected in Cal.com and that booking windows/buffers don’t block all times.
* **Wrong time zone**: Confirm the caller’s time zone detection and your event’s default time zone in Cal.com.

## Variables

When you attach a real-time booking action to an agent, the action exposes a single input: **`lead_email`**. Map it to a fixed email address, or link it to any variable your agent or flow already provides (for example something collected during the call, a [system field](/variables#system-variables), pre-call data, or another [action’s result](/variables#action-result-variables)).

In the screenshot below, **`lead_email`** is mapped to **`user_email`**, where `user_email` was collected earlier in the conversation.

![](https://storage.googleapis.com/granular-changelog/doc-images/action-variables-picker.png)

## FAQs

#### What happens if the time becomes double‑booked?

Cal.com checks live availability at booking time. If a slot becomes unavailable, the agent will offer alternative times and attempt a new booking.

#### How are time zones handled?

The integration uses the caller’s time zone when available; otherwise it falls back to the event/host defaults configured in Cal.com.

#### Can the caller cancel or reschedule?

Yes. Cal.com’s confirmation emails include manage links. You can also add a follow‑up flow in your agent to retrieve or modify bookings.

#### Does this work with team/round‑robin events?

Yes—use team or round‑robin events in Cal.com. The agent will book into whichever host Cal.com assigns per your rules.

#### How do I choose which Cal.com event to use?

When you configure a Real‑Time Booking action with Cal.com, open the **Event** field and select from the list we load from your connected account. You do not paste an Event ID from the Cal.com URL.

#### Do I need an API key or OAuth?

You will be asked to provide your API key once upon connection. After that, each Real‑Time Booking action lets you pick an event from the events we fetch from Cal.com.

## Further resources

* [Cal.com Documentation on Synthflow](https://app.cal.com/apps/synthflow)
* [Cal.com Dashboard](https://cal.com)