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

# Direct Booking

> Let your AI Receptionist book appointments on your Google Calendar or Microsoft Outlook calendar while the caller is still on the line.

With Direct Booking enabled, your AI Receptionist can check your real calendar availability — on **Google Calendar** or **Microsoft Outlook / Microsoft 365** — offer open slots, and book the appointment — all during the inbound call. The caller hangs up with a confirmed time on your calendar, and a calendar invite in their inbox.

This is different from the **Follow-up Text** option, which texts the caller a scheduling link to fill in after the call. Direct Booking commits the appointment on the spot, while you still have the caller's attention. When Direct Booking is on, it replaces the follow-up text scheduling flow for that receptionist.

## What You Need

* A connected calendar — **Google Calendar** or **Microsoft Outlook / Microsoft 365**
* An active AI Receptionist agent
* The calendar connection is shared with AI Calling — connect once, use everywhere

## Connecting Your Calendar

If you already connected a calendar for AI Calling, you're done — the AI Receptionist reuses the same connection. Otherwise:

1. Open **AI Receptionist → Settings**
2. Turn on **Direct Booking** in the Call Handling section
3. Click **Connect** and choose **Google Calendar** or **Outlook Calendar**
4. Sign in with your Google or Microsoft account and grant calendar access — Atllas requests permission to read your busy times and create new events
5. Choose which calendar to use — defaults to your **Primary** calendar

The connection status updates to **Connected**. Disconnecting later (from either product's settings) turns off booking everywhere that uses your calendar.

## Configuring Booking for Your Receptionist

Booking details are **shared with AI Calling** — there's one set of booking settings for your account, used by both your receptionist and your calling campaigns. Editing them here updates them everywhere (and vice versa). The on/off toggle, however, is independent: turning Direct Booking on for your receptionist doesn't affect AI Calling, and vice versa.

After enabling the toggle:

1. Click **Configure**
2. Set the meeting **length** in minutes (30 is a good default)
3. Set the **availability window** — the days of the week and the start/end times the AI may offer. The window is interpreted in your calendar timezone.
4. Set **buffer times** before and after each appointment — the AI won't offer slots that overlap these
5. Set the **minimum notice** (the AI won't offer anything sooner than this)
6. Set the **look-ahead window** — how many days into the future the AI may offer
7. Choose the **meeting type**:
   * **Online first, phone as backup** — the AI collects the caller's email for a video invite (Google Meet or Microsoft Teams, matching your connected calendar); if they decline, it books a phone callback instead
   * **Phone first, online meeting as backup** — phone callback by default, with a video link (Meet or Teams) offered when the caller shares an email
   * **Custom** — describe the format (e.g. an on-site appointment) and the AI follows your instructions
8. Customise the calendar event **title** and **description** templates

<Tip>
  These are the same booking settings used by AI Calling. If you've already configured booking for AI Calling, they're already set here — any changes you make apply to both products.
</Tip>

## What the Caller Hears

A typical inbound conversation:

> **Caller**: I'd like to come in some time this week.
>
> **AI**: Of course. We have availability Tuesday afternoon and Wednesday morning — does either work for you?
>
> **Caller**: Tuesday afternoon.
>
> **AI**: I have Tuesday at 2 PM available. Shall I book that for you?
>
> **Caller**: Yes.
>
> **AI**: Would you like a calendar invite? If so, what email should I send it to?
>
> **Caller**: john at example dot com
>
> **AI**: Let me read that back: J, O, H, N at example dot com — did I get that right?
>
> **Caller**: Yes.
>
> **AI**: You're booked for Tuesday at 2 PM, and the invite goes to john at example dot com. Is there anything else I can help with?

The letter-by-letter read-back is automatic — it's how the AI confirms the email so a one-character mistake doesn't send the invite into a void. If the caller declines to share an email, the AI confirms a callback number instead and books a phone appointment.

## Mid-Call Changes

Callers sometimes change their mind before hanging up. On the same call, the AI can:

* **Reschedule** the appointment it just booked to a different open slot
* **Cancel** the appointment entirely
* **Correct** its own mistake if it booked the wrong time

The AI can only modify appointments it booked on this same call — it cannot touch unrelated events on your calendar.

## Viewing Bookings

Every appointment your receptionist books is recorded in **AI Receptionist → Bookings**, showing the time, caller details, meeting type, status, and full change history. Cancelled and rescheduled appointments stay in the list with their status updated.

## Timezones

| Timezone          | What It Controls                                                                              |
| ----------------- | --------------------------------------------------------------------------------------------- |
| **Your calendar** | Defines the availability window. "9 AM to 5 PM, Monday to Friday" means 9–5 in your timezone. |
| **Caller**        | What the AI reads out loud. Inferred automatically from the caller's phone number.            |
| **UTC**           | What's stored on the calendar event. The invite renders in each viewer's own timezone.        |

## Troubleshooting

### Booking is enabled but the AI never offers to book

Check three things:

1. Your calendar (Google or Outlook) shows **Connected** in the Direct Booking section
2. Booking settings have been configured (open **Configure** to set the meeting length, availability window, and event templates — these are shared with AI Calling)
3. You have free slots inside your availability window within the look-ahead period — if your calendar is fully booked, the AI has nothing to offer

### "Calendar access has expired"

A refresh token can expire if it isn't used for a long time, or if you change your Google or Microsoft password. Reconnect from the Direct Booking section (or from AI Calling's Settings — it's the same connection). Calls keep working in the meantime; booking is simply skipped until the connection is restored.

### Direct Booking and Follow-up Text

When Direct Booking is enabled, it takes precedence over the Follow-up Text scheduling flow — the AI books directly instead of offering to text a link. Turn Direct Booking off to return to the text-link behavior.

## What Atllas Stores

When you connect your Google or Microsoft calendar, Atllas stores a refresh token used to read your busy/free schedule and create events, the calendar ID and timezone you chose, and a connection timestamp. Atllas does **not** read the contents of your existing events — only whether each window is free or busy.

## Next Steps

<CardGroup cols={2}>
  <Card title="Call Handling Actions" icon="phone" href="/docs/ai-receptionist/setup/call-handling-actions">
    Configure the rest of your receptionist's call handling
  </Card>

  <Card title="Settings & Customization" icon="gear" href="/docs/ai-receptionist/settings-and-customization">
    Fine-tune your receptionist's behavior
  </Card>
</CardGroup>
