> ## 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.

# Calendar Integration

> Let the AI book meetings on your Google Calendar or Outlook Calendar during a live call.

When Calendar Integration is enabled, the AI assistant can offer a meeting, check your real availability, and book the slot directly on your calendar — all during the same phone call. Atllas supports both **Google Calendar** and **Outlook Calendar**. Times are presented in the recipient's local timezone, and a calendar invite is emailed automatically — with a video meeting link where the provider supports it (see [Video Conferencing](#video-conferencing)).

This is different from the Meeting Link follow-up SMS, which sends the contact a scheduling link to fill in themselves. Direct booking commits the meeting on the call, while you have the contact's attention.

## What You Need

* A Google account with Google Calendar, **or** a Microsoft account with Outlook Calendar — both work/school (Microsoft 365) and personal (Outlook.com, Hotmail, Live) accounts are supported
* An AI Calling campaign (or the willingness to create one)
* Permission to connect calendars at your account or team level

## Connecting Your Calendar

Connect your calendar once at the account level. The same connection is then available to any campaign you configure. You can connect Google, Outlook, or both.

### Google Calendar

1. Open **Settings** from the avatar menu
2. Find the **Google Calendar** section
3. Click **Connect Google Calendar**
4. Sign in with your Google account in the popup window
5. Grant calendar access when Google asks — Atllas requests permission to read your busy times and create new events
6. Choose which calendar to use from the dropdown — defaults to your **Primary** calendar
7. Click **Save**

### Outlook Calendar

1. Open **Settings** from the avatar menu
2. Find the **Outlook Calendar** section — right alongside Google Calendar
3. Click **Connect Outlook Calendar**
4. Sign in with your Microsoft account in the popup window — work/school (Microsoft 365) and personal (Outlook.com, Hotmail, Live) accounts both work
5. Grant calendar access when Microsoft asks — Atllas requests permission to read your busy times and create new events
6. Choose which calendar to use from the dropdown — defaults to your primary **Calendar**
7. Click **Save**

For either provider, the connection status updates to **Connected**, with the calendar's timezone shown alongside it. Your AI assistant can now book meetings on this calendar for any campaign that has booking turned on. You can change the selected calendar or disconnect at any time from the same Settings section.

<Note>
  The connection is per-user. If you're on a team, every member who wants the AI to book on their calendar must connect their own calendar from their own Settings page.
</Note>

## Connecting Both Providers

You can have Google Calendar and Outlook Calendar connected at the same time, but the AI books on exactly one of them:

* The **most recently connected** provider becomes the active one by default
* A radio selector in the booking settings lets you choose which connected provider the AI books on — switch any time without reconnecting
* Disconnecting the active provider automatically falls back to the other connected provider, if there is one

## Configuring Booking on a Campaign

Booking is opt-in per campaign — it's off by default, even after the calendar is connected. Turn it on inside the campaign you want it for.

1. Open the campaign in the **Campaign Builder**
2. Go to the **Booking** step
3. Toggle **Enable booking** on
4. Choose whose calendar to book on (defaults to the campaign owner — for teams, you can pick any team member who has connected their calendar)
5. Set the meeting **length** in minutes (30 is a good default)
6. Set the **availability window** — the days of the week and the start/end time the AI is allowed to offer. The window is interpreted in the calendar owner's timezone.
7. Set **buffer times** before and after each meeting — the AI won't offer slots that overlap with these
8. Set the **minimum notice** (the AI won't offer anything sooner than this many minutes from now)
9. Set the **look-ahead window** — how many days into the future the AI is allowed to look for slots
10. Choose the **meeting type**:
    * **Video meeting** — a video meeting link (Google Meet or Microsoft Teams, depending on the connected provider) is created automatically and included in the calendar invite. See [Video Conferencing](#video-conferencing) for the personal-Microsoft-account caveat.
    * **Phone** — the meeting will happen by phone; the recipient's phone number is included on the event
    * **In-person** — provide an address that goes on the event
11. Customise the **meeting title** and **description** templates — these are what the calendar invite will read. Use the variable tokens (e.g. `{recipient.firstName}`) to personalise per call.
12. Review and launch the campaign as normal

If your campaign owner hasn't connected a calendar yet, the Booking step shows an inline prompt with a link to Settings.

<Tip>
  Add a buffer of at least 5–10 minutes after each meeting so back-to-back calls don't collide if a meeting runs over.
</Tip>

## Video Conferencing

Which video link the invite carries depends on the connected provider:

| Provider                  | Video link                                                                                                               |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Google Calendar**       | Google Meet — created automatically and included in the invite                                                           |
| **Outlook (work/school)** | Microsoft Teams — created automatically and included in the invite                                                       |
| **Outlook (personal)**    | No video link — Microsoft doesn't support adding Teams links to events on personal accounts (Outlook.com, Hotmail, Live) |

<Warning>
  On a **personal Microsoft account**, the meeting is still booked and the recipient still receives the calendar invite by email — it just won't contain a video meeting link. The AI tells the recipient the meeting details are in the invite instead of promising a link. If video links matter to you, connect a work/school Microsoft account or Google Calendar.
</Warning>

## What the Recipient Hears

The AI guides the recipient through the booking naturally. A typical conversation:

> **AI**: Would you like to set up a 30-minute meeting?
>
> **Recipient**: Sure.
>
> **AI**: What's your email address?
>
> **Recipient**: john at example dot com
>
> **AI**: Let me read that back: J as in Juliet, O, H, N at example dot com — did I get that right?
>
> **Recipient**: Yes.
>
> **AI**: Great. I have Tuesday at 2 PM Eastern available — that's 11 AM your time. Does that work?
>
> **Recipient**: Yes.
>
> **AI**: Booked. You'll get a calendar invite by email shortly.

The NATO read-back ("J as in Juliet…") is automatic. It's how the AI confirms the email letter-by-letter so a one-character mistake doesn't send the invite into a void.

<Note>
  The invite email comes from whichever provider the AI booked on — Google Calendar sends it when Google is selected, Outlook sends it when Outlook is selected.
</Note>

## Timezones

There are three timezones in play during a booking. Atllas handles all three for you, but it's worth knowing how they line up:

| Timezone           | What It Controls                                                                                                                  |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
| **Calendar owner** | Defines the availability window. "9 AM to 5 PM, Monday to Friday" means 9–5 in the calendar owner's timezone.                     |
| **Recipient**      | What the AI reads out loud. Inferred automatically from the recipient's phone area code, then confirmed verbally during the call. |
| **UTC**            | What's actually stored on the calendar event. The recipient's invite email renders in their own timezone wherever they read it.   |

You don't need to configure anything beyond your availability window — the AI does the conversion in real time.

## Working on a Team

Each team member connects their own calendar (Google or Outlook) from their own Settings page. Calendars are not shared across the team automatically.

When configuring a campaign on a team, the **calendar owner** dropdown on the Booking step lists every team member who has connected a calendar. Pick whichever team member's calendar the meetings should land on for this campaign. The calendar owner doesn't have to be the campaign creator — a manager can build a campaign that books on a salesperson's calendar.

## Mid-Call Rescheduling

Recipients sometimes change their mind about the slot they just booked. The AI handles this on the same call:

1. Recipient: "Actually, can we make it Wednesday instead?"
2. AI checks the new slot against the calendar
3. If the new slot is free, the AI moves the meeting and confirms verbally
4. If the new slot is taken, the AI offers the next available alternatives

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

## Troubleshooting

### "Calendar access has expired"

This can happen with either provider — the refresh token expires if it isn't used for a long time, or if you change your account password. Reconnect your calendar from **Settings → Google Calendar** or **Settings → Outlook Calendar**, whichever shows the expired connection. The campaign keeps running in the meantime — booking is simply skipped on calls until the connection is restored.

### "Need admin approval" when connecting Outlook

Some Microsoft 365 work/school organisations restrict which apps users can grant access to. If your tenant does, the Microsoft sign-in popup shows **"Need admin approval"** (error code AADSTS65001) instead of the consent screen. Ask your IT administrator to approve calendar access for Atllas — once they have, reconnect from Settings. Personal Microsoft accounts are never affected by this.

### Booking is enabled but the AI didn't offer to book

Check three things:

1. The campaign owner has a connected calendar in **Settings**
2. The campaign's **Booking** step is toggled on
3. The recipient's call reached a stage where booking made sense — the AI doesn't open with "want to book a meeting?"; it offers booking when the conversation reaches the right point

If all three look right and you still don't see booking offers in transcripts, run a test call and listen for whether the AI gets a chance to suggest a meeting at all — the call may be ending before that point.

### I want to disable booking for one campaign but keep it for others

Booking is configured per campaign. Open the campaign that should not book, go to the **Booking** step, and toggle **Enable booking** off. The calendar connection itself stays in place.

### Two recipients want the same slot at the same time

Atllas handles this automatically. The first recipient to confirm wins the slot. The second recipient is told the slot was just taken and is offered the next available alternatives — the conversation continues without the AI getting confused.

### The recipient gave a typo'd email

The AI reads the address back letter-by-letter using the NATO alphabet ("J as in Juliet, O as in Oscar…") and asks the recipient to confirm before booking. If the recipient confirms a wrong character, the invite goes to the wrong inbox — there is no way for Atllas to detect this. You'll see the failed delivery if your calendar shows attendee responses.

### The meeting was booked but no video link appeared

Two common causes:

1. The meeting type was set to **Phone** or **In-person** instead of **Video meeting**. Check the Booking step's meeting type setting on the campaign and re-launch.
2. The AI booked on a **personal Microsoft account** (Outlook.com, Hotmail, Live) — Teams links aren't available there. The invite still goes out with the meeting details, just without a link. See [Video Conferencing](#video-conferencing).

## What Atllas Stores

The same applies to both providers. When you connect Google Calendar, Atllas stores:

* A refresh token used to read your busy/free schedule and create new events on the calendar you selected
* The calendar ID and timezone you chose
* A timestamp of the connection

When you connect Outlook Calendar, Atllas stores the equivalent:

* An encrypted Microsoft token used to read your busy/free schedule and create new events on the calendar you selected
* The calendar ID and timezone you chose
* A timestamp of the connection

Atllas does **not** read the contents of your existing events — only whether each window is free or busy. New events created by the AI live on your provider's servers (Google or Microsoft), not Atllas's, and are visible to you in your calendar like any other event.

You can disconnect either provider at any time from **Settings**. Disconnecting revokes Atllas's access immediately. If the disconnected provider was the active one, the AI switches to your other connected provider — or, if none remains, booking turns off on every campaign that was using your calendar.

## Next Steps

<CardGroup cols={2}>
  <Card title="Create a Campaign" icon="plus" href="/docs/ai-calling/creating-a-campaign/call-details">
    Build a campaign that uses calendar booking
  </Card>

  <Card title="Test Call" icon="phone" href="/docs/ai-calling/creating-a-campaign/test-call">
    Verify the booking flow before going live
  </Card>
</CardGroup>
