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

# Book a Meeting

> Schedule meetings using Cal.com during AI calls

## Overview

The Book a Meeting function allows your AI agent to schedule meetings directly through Cal.com during calls. Customers can book appointments without leaving the conversation.

**Requirements:**

* Active Cal.com account
* Cal.com API key
* Cal.com Event ID

## Setup

### Step 1: Get Cal.com API Key

1. Log in to [Cal.com](https://cal.com)
2. Go to [API Keys Settings](https://app.cal.com/settings/developer/api-keys)
3. Click **Generate API Key** if you don't have one
4. Copy the API key

### Step 2: Get Event ID

1. Go to [Event Types](https://app.cal.com/event-types) in Cal.com
2. Click on the event type you want to use for bookings
3. Copy the **Event ID** from the URL
   * Example URL: `https://app.cal.com/event-types/{event_id}`
   * Event ID in this example: `{event_id}`

### Step 3: Configure in CallKaro

<img src="https://mintcdn.com/callkaroai/_yHIwUXcSxcKfjME/images/functions/book-a-meeting.png?fit=max&auto=format&n=_yHIwUXcSxcKfjME&q=85&s=ea2d1b95ea212bcde765994c0ba3a63a" alt="Book a meet" width="2880" height="1626" data-path="images/functions/book-a-meeting.png" />

<Steps>
  <Step title="Add Function">
    Navigate to your agent → Functions tab → Click Add → Select "Book a meet (cal.com)"
  </Step>

  <Step title="Enter API Key">
    Paste your Cal.com API key
  </Step>

  <Step title="Enter Event ID">
    Paste your Cal.com Event ID
  </Step>

  <Step title="Save">
    Click Save to activate the function
  </Step>
</Steps>

## How It Works

1. **Customer requests booking** - AI detects scheduling intent
2. **AI checks availability** - Queries Cal.com for open slots
3. **Customer selects time** - AI presents available times
4. **Booking confirmed** - Meeting scheduled in Cal.com
5. **Confirmation sent** - Customer receives booking details

## Use Cases

* **Sales demos** - Schedule product demonstrations
* **Support calls** - Book follow-up support sessions
* **Consultations** - Arrange consultation appointments
* **Onboarding** - Schedule onboarding calls

## Best Practices

* **Single event type** - Use one event type per function
* **Clear availability** - Ensure Cal.com calendar is updated
* **Email collection** - Collect customer email for confirmations
* **Time zones** - Set correct timezone in Cal.com

<Note>
  Bookings are created in your Cal.com account and follow your availability settings.
</Note>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Bookings not working" icon="calendar-xmark">
    **Solutions:**

    * Verify API key is correct
    * Check Event ID matches event type
    * Ensure event type is active in Cal.com
    * Confirm availability slots exist
  </Accordion>

  <Accordion title="No available times" icon="clock">
    **Solutions:**

    * Update Cal.com availability
    * Check calendar for conflicts
    * Verify event duration settings
    * Review buffer time configuration
  </Accordion>
</AccordionGroup>

<Tip>
  Link this function with "Check Availability" to let customers check slots before booking.
</Tip>
