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

# Calendar Booking

> The Book Calendar Action enables your voice agent to automatically check calendar availability and book appointments for callers. If the requested time is unavailable, the agent will suggest alternative time slots. This helps streamline bookings and improve the caller experience without human intervention.

## **How It Works**

1. The caller shares a preferred time or date.
2. The agent checks the integrated calendar in real-time.
3. If the time is free, it books the appointment.
4. If not, it offers available time slots to the caller.
5. Once confirmed, the event is added to your calendar.

## **Supported Calendar Integrations**

* Google Calendar
* GoHighLevel Calendar (GHL)
* [Cal.com](http://Cal.com)

## **Setup Instructions**

<Steps>
  <Step title="Install the Integration" stepNumber={1} titleSize="p">
    Go to **Settings** → **Integrations** in your client account. Choose the calendar platform you want to integrate:

    * **Google Calendar**: Click *Connect Google*, sign in with your Google account, and allow access.
    * **GHL Calendar**: Enter your GHL API Key and connect the workspace.
    * [**Cal.com**](http://Cal.com): Provide your [Cal.com](http://Cal.com) API Key and connect your account.

          <Note>
            You must **authorize** the integration to access calendar data and manage bookings.
          </Note>

          <img src="https://mintcdn.com/voicemetrics-47a09903/6P1C85lTrVnBx7NP/images/integration1.png?fit=max&auto=format&n=6P1C85lTrVnBx7NP&q=85&s=a83a77b9077de7e9279618d2bf3d7e5e" alt="integration 1.png" width="1920" height="1080" data-path="images/integration1.png" />
  </Step>

  <Step title="Create the Book Calendar Action" stepNumber={2} titleSize="p">
    * Go to **Actions** → Click **Create Action** → Select **Book Calendar**.
    * Choose the connected calendar (Google, GHL, or [Cal.com](http://Cal.com)).
    * Map the required inputs (e.g., caller name, email, desired date/time).
    * Save the action

          <img src="https://mintcdn.com/voicemetrics-47a09903/wBJgP-ZvabyNU5Uo/images/calendar1.png?fit=max&auto=format&n=wBJgP-ZvabyNU5Uo&q=85&s=1f0ba2178b57bb768edae10d72e1440e" alt="calendar1.png" width="1920" height="1080" data-path="images/calendar1.png" />
  </Step>

  <Step title="Use in Agent Prompt" stepNumber={3} titleSize="p">
    Insert the action in your agent prompt to enable booking functionality.

    <Note>
      **Example Prompt:**

      Use tool #Book\_Calendar to check availability and schedule an appointment based on the caller's preferred time.
    </Note>
  </Step>
</Steps>

## **Best Practices**

* Collect essential info (name, email, preferred time) early in the conversation.
* Guide callers if their preferred time is not available.
* Use dynamic prompts to personalize appointment flow.
