> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vocily.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Cal.com

> Workspace scheduling setup for agent booking flows.

Cal.com connects your workspace calendar setup to Vocily. After it is connected, agents
can use calendar capabilities during conversations.

## What Cal.com enables

Use the Cal.com integration when an agent needs to:

* Check availability.
* Book meetings.
* Reschedule existing meetings.
* Cancel meetings.

Cal.com is connected at the workspace level. You then add calendar capabilities to the
specific agents that should use them.

## Before you connect

Have a Cal.com account and API key ready.

<Info>
  If you do not have a Cal.com account yet, create one first. During setup, you can
  connect Google Calendar if you want Cal.com availability to stay in sync with your
  Google Calendar. Calendar sync is optional; it is only needed when you want bookings to
  reflect that calendar.
</Info>

To create an API key:

1. Go to [Cal.com API keys](https://app.cal.com/settings/developer/api-keys).
2. Select **Create new**.
3. Recommended: set the key to **never expire** if your Cal.com workspace allows it.
4. Copy the API key.

If the key expires, you need to create a new key and update the Cal.com integration in
Vocily again.

## Cal.com billing

Your Cal.com account, organization plan, seats, calendar-provider setup, and Cal.com
invoices are managed by your business in Cal.com. Vocily does not create, upgrade,
downgrade, cancel, or pay for your Cal.com plan.

If your team uses a paid Cal.com organization plan, keep that plan active in Cal.com so
the event types and booking permissions your agents rely on remain available. Vocily
connects through the API key you provide and uses the Cal.com access that your account
already has.

## Connect Cal.com

To connect Cal.com:

1. Open **Integrations**.
2. Choose **Cal.com**.
3. Paste your Cal.com **API key**.
4. Save the connection.

Vocily stores the API key securely. After connection, the key is shown only in masked
form, along with the connected calendar account details when they are available.

## Add Cal.com to an agent

After Cal.com is connected:

1. Open the agent.
2. Go to **Capabilities** in the **Configuration tabs**.
3. Open **Integrations**.
4. Add a Cal.com capability.
5. Choose what the agent should do: [check calendar availability](#configure-calendar-availability)
   or [book and manage appointments](#configure-book-appointment), then choose the
   Cal.com event type the agent should use.
6. Select **Configure**.
7. Review the fields and adjust the instructions for this agent.
8. Select **Add integration**.

The event type controls which Cal.com meeting type this agent uses. Vocily creates
default names and instructions from the selected event, and you can edit them before
adding the capability to the agent.

## Choose the capability type

Vocily supports two Cal.com capability types:

<CardGroup cols={2}>
  <Card title="Calendar Availability" icon="calendar-search">
    Checks open meeting slots from the selected Cal.com event type. Use this when the
    agent should offer available times before the customer chooses one.
  </Card>

  <Card title="Book Appointment" icon="calendar-check">
    Books the selected Cal.com event type and can also list, reschedule, or cancel
    existing bookings for the caller.
  </Card>
</CardGroup>

## Configure Calendar Availability

Use **Calendar Availability** when the agent only needs to check available slots or
share options with the caller.

<Tip>
  The default setup works without editing. Only adjust the instruction and message
  fields if you want the agent to follow a more specific policy or say a different
  line before it checks the calendar.
</Tip>

| Field                               | What it controls                                                                                                                                                                                   |
| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Cal.com Event**                   | The Cal.com event type whose availability the agent checks. The dropdown shows the event name and duration when available.                                                                         |
| **Display Title**                   | The readable name shown in Agent Studio. By default, Vocily uses a title like `Check Availability · Discovery Call`.                                                                               |
| **Integration Key**                 | The unique key for this capability on the agent. Keep it short, lowercase, and specific, such as `check_calendar_availability_discovery_call`. Each integration key must be unique for that agent. |
| **Description**\*                   | A plain-English description of what this capability does. The default explains that it checks open slots for the selected Cal.com event.                                                           |
| **Trigger Policy**\*                | Instructions for when the agent should use the capability. For availability, this should explain when the caller wants to hear open meeting slots before choosing a time.                          |
| **Caller Message Before Running**\* | The message the agent says before checking the calendar, such as “One moment please while I check the calendar for future availability.”                                                           |

## Configure Book Appointment

Use **Book Appointment** when the agent should create a booking or manage an existing
booking during the conversation.

<Tip>
  The default setup works without editing. Only adjust the instruction and message
  fields if you want the agent to follow a more specific policy or say a different
  line before it books or manages a meeting.
</Tip>

| Field                               | What it controls                                                                                                                                             |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Cal.com Event**                   | The Cal.com event type the agent books. Changing the event refreshes the default title, key, description, and instructions.                                  |
| **Display Title**                   | The readable name shown in Agent Studio. By default, Vocily uses a title like `Book Appointment · Discovery Call`.                                           |
| **Integration Key**                 | The unique key for this booking capability on the agent, such as `book_calendar_meeting_discovery_call`. Each integration key must be unique for that agent. |
| **Description**\*                   | A plain-English description of the booking capability. The default explains that the agent can book, list, reschedule, or cancel the selected Cal.com event. |
| **Trigger Policy**\*                | Instructions for when the agent should use this capability. Use it to tell the agent when to book, review, reschedule, or cancel a meeting.                  |
| **Caller Message Before Running**\* | The message the agent says before booking a confirmed slot, such as “One moment please while I book that confirmed slot for you.”                            |

Book Appointment also includes booking-flow controls:

| Field                        | What it controls                                                                                                                                                                                                        |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Reschedule**               | Allows the agent to help the caller reschedule an existing booking. This is enabled by default.                                                                                                                         |
| **Cancel**                   | Allows the agent to cancel an existing booking for the caller. This is enabled by default.                                                                                                                              |
| **Action-specific Messages** | Optional messages for follow-up actions, including listing upcoming meetings, checking reschedule options, rescheduling a meeting, and canceling a meeting. These messages are spoken before that specific action runs. |

## Write prompt instructions for scheduling

When the agent uses Cal.com, explain the scheduling behavior in the agent prompt:

* When to offer a booking.
* What information to collect before checking availability.
* How to handle reschedules or cancellations.
* What to say while it checks or updates the calendar.

Keep the prompt focused on the customer's task. The capability handles the calendar
action; the prompt tells the agent when and how to use it.

## Disconnect Cal.com

Disconnecting Cal.com removes Cal.com-backed capabilities from agents in the workspace.
Use this when you want agents to stop checking availability or managing bookings through
that Cal.com account.

## What's next

* Add scheduling to an agent in [Capabilities](/building-agents/capabilities).
* Review all workspace connections in [Integrations](/integrations/overview).
