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

# Outlook Calendar

> View events, create meetings, and manage Outlook calendars

Connect your agent to Outlook Calendar to manage the Microsoft 365 calendars you choose to share.

This is a separate capability from [Outlook](/integrations/outlook) email. Connecting mail does not grant calendar access — you create a dedicated personal token for calendar.

## How to enable

<Steps>
  <Step title="Enable the capability">
    Go to **Settings → Capabilities** and enable **Outlook Calendar**.
  </Step>

  <Step title="Connect your Microsoft account">
    Click **Create new** to sign in with your Microsoft account and create a personal access token. This token belongs to you and can be managed in your profile settings.

    If you already have an Outlook Calendar token from setting up another agent, you can select it from the dropdown instead.
  </Step>
</Steps>

<Note>
  In many organizations, a Microsoft admin must approve the Abundly Outlook app before the connection can be completed. If you see an "Almost There" message after sign-in, ask your admin to grant approval in Microsoft Entra, then try connecting again.
</Note>

## Access scope

After you connect a new Outlook Calendar token, you can choose which calendars the token is allowed to access.

You can keep broad access by choosing **Allow All & Continue**, or save a restricted scope and apply least privilege from the start.

<Note>
  You can update these calendar access settings later from **Profile settings → Personal Tokens**. The agent can only list, read, create, update, and (when enabled) delete events on calendars included in the allowed list.
</Note>

## Deleting events

By default, Outlook Calendar gives your agent list, read, create, and update tools only.

In capability settings, you can enable **Allow deleting calendar events** to let the agent delete events. This does not require reconnecting your Microsoft account.

<Warning>
  Deleting is a sensitive action. When the agent cancels a meeting you organized, every attendee is notified.
</Warning>

## Technical details

<Info>
  This section describes exactly what the integration requests and how access is scoped. Useful when a Microsoft admin needs to review the app before granting consent.
</Info>

### What the agent connects to

Outlook Calendar runs against **Microsoft Graph** (`graph.microsoft.com/v1.0`) using delegated OAuth 2.0 through the Microsoft identity platform. The integration is registered as a multitenant app against the `organizations` endpoint, so work and school accounts are supported and personal Microsoft accounts are not.

Everything the agent does goes through the `/me` calendar endpoints of the connected account. The agent cannot reach another user's calendar unless that calendar has already been shared with the connected account.

### Permissions requested

| Scope                        | Why it's requested                                                     |
| ---------------------------- | ---------------------------------------------------------------------- |
| `openid`, `profile`, `email` | Sign-in and identifying which account was connected                    |
| `offline_access`             | A refresh token, so the agent keeps working without re-authorizing     |
| `User.Read`                  | Reads the account's email address to label the connection              |
| `Calendars.ReadWrite`        | Lists calendars and lists, reads, creates, updates, and deletes events |

All permissions are **delegated** — the agent acts as the connected user and can never do more in Outlook than that user can.

### Tools exposed to the agent

| Tool                            | What it does                                                              | Available                                          |
| ------------------------------- | ------------------------------------------------------------------------- | -------------------------------------------------- |
| `list_outlook_calendars`        | Lists calendars this token is allowed to access                           | Always                                             |
| `list_outlook_calendar_events`  | Lists events, optionally filtered by calendar, date range, or subject     | Always                                             |
| `get_outlook_calendar_event`    | Reads one event by ID, including body, attendees, and Teams join URL      | Always                                             |
| `create_outlook_calendar_event` | Creates an event on an allowed calendar                                   | Always                                             |
| `update_outlook_calendar_event` | Updates fields on an existing event                                       | Always                                             |
| `delete_outlook_calendar_event` | Deletes an event, or cancels a meeting you organized (notifies attendees) | Only when **Allow deleting calendar events** is on |

### Tokens and access

* The connection is stored as a **personal token** that belongs to you, not to the workspace or the agent. Manage it under **Profile settings → Personal Tokens**, where you can see which agents use it and disconnect it.
* Access tokens are refreshed automatically shortly before they expire, using the refresh token from `offline_access`. See [Credentials](/security/credentials) for how Abundly handles credentials generally.
* The agent never sees the token. Authentication is attached when the platform calls Microsoft Graph, after the model has decided what to do.
* Every Outlook Calendar tool call is recorded in the agent's [activity log](/features/monitoring).

<Warning>
  An agent using your token acts as **you** in Outlook Calendar, and anyone who can use that agent can use its calendar access. Only connect calendars to agents whose access list you're comfortable with.
</Warning>

### Admin-side controls

Your Microsoft admins keep full control independently of Abundly:

* **Admin consent** — many tenants require an admin to approve "Abundly Outlook Integration" in Microsoft Entra before any user can connect.
* **Conditional Access** — your existing policies apply to the delegated token.
* **Revocation** — removing the enterprise application in Entra, or revoking the user's sessions, cuts off every agent using it immediately.

## Example use cases

* **Daily briefing** — "Every morning at 8am, summarize today's Outlook meetings and post them to Slack"
* **Meeting scheduler** — "Find a free hour this week and create a meeting with the people on this email thread"
* **Follow-up** — "After my 3pm with nShift, draft a follow-up email from the attendees and notes"
