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

# Connect Microsoft 365 with anny

> Sync room and person calendars of your Microsoft 365 organization in real time with your anny resources.

[Microsoft 365](https://www.microsoft.com/en/microsoft-365) is Microsoft's cloud platform with Outlook calendars for people as well as room and resource mailboxes. With the integration, anny connects your resources directly with these calendars: a two-way synchronization keeps bookings and appointments up to date on both sides.

With Microsoft 365 you can, inside anny:

* Couple room, resource, and person calendars of your organization with anny resources (real-time two-way sync)
* Automatically take over calendar appointments as blockers or bookings in anny and avoid double bookings
* Automatically create Teams meetings with an invitation to customers for bookings

The integration is aimed at organizations that manage their Microsoft 365 environment centrally: an administrator connects the entire organization once, without individual employees having to sign in. For connecting individual personal mailboxes, there is the personal Outlook integration; you find a comparison in the overview article [Calendar integrations](/en/calendar-integrations).

## Typical use cases

| Use case                                   | Description                                                                                                                                                                                                          |
| :----------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Meeting rooms with a room mailbox          | **A room is bookable via anny and Outlook at the same time, without double bookings.** Appointments from the room mailbox block the resource in anny, and anny bookings appear as appointments in the room calendar. |
| Person calendars for consulting & services | **Bookings land directly in the calendar of the responsible person.** Existing appointments of the person block their availability in anny, private appointments stay anonymous.                                     |
| Online appointments with Teams             | **Every booking automatically gets a Teams meeting.** Customers and participants are added as invitees and receive the join link via the calendar.                                                                   |

## How the Microsoft 365 connection works

The connection is established at the organization level. An administrator of your Microsoft 365 organization clicks **Authorize** in anny, signs in to Microsoft, and grants consent for the organization (admin consent). After that, anny can access the calendars of users as well as the room and resource mailboxes. Individual employees do not have to sign in.

anny accesses only the calendars you explicitly link with a resource in the settings; the main calendar of the selected account is synced in each case. If you revoke consent in the Microsoft admin center, the integration deactivates itself and notifies the admins.

| Data                                                                                                 | Direction            | Frequency                                         |
| :--------------------------------------------------------------------------------------------------- | :------------------- | :------------------------------------------------ |
| Bookings (confirmed and requested) are created as appointments, updated, and deleted on cancellation | anny → Microsoft 365 | Immediately on every change                       |
| Appointments are taken over as blockers or bookings, updated, and removed on deletion                | Microsoft 365 → anny | In real time via push notification from Microsoft |
| Account list of the organization (name and email) for the calendar selection                         | Microsoft 365 → anny | When editing the settings                         |

Synced is the period from today up to about 12 months ahead; anny extends this period automatically. Past appointments are not imported. After activation, anny first imports all future appointments and bookings, after which changes arrive continuously in real time.

## Connect Microsoft 365

### Requirements

Before you connect Microsoft 365, make sure you have the following:

* A Microsoft 365 organization with Exchange Online mailboxes (cloud, not on-premise)
* Administrator rights in Microsoft 365 to grant consent for the organization
* Admin rights in your anny account
* The calendars you want to connect already exist (for example, room mailboxes for your rooms)

### Set up the connection

<Steps>
  <Step title="Create the integration">
    Open **Integrations** from the menu bar and select **Microsoft 365**.
  </Step>

  <Step title="Authorize">
    Click **Authorize**. You are redirected to Microsoft: sign in with an administrator account of your organization and grant consent. After that, you are automatically returned to anny.
  </Step>

  <Step title="Create connections">
    In the **Calendar synchronization settings** panel, define which calendars are coupled with which resources:

    1. Click **Add**.
    2. Under **Choose the resource to synchronize:**, select the anny resource.
    3. Under **Microsoft calendar**, select the account (person or room/resource mailbox) whose calendar should be synced. Using the search, you find accounts by email address.
    4. Adjust the other options if needed (see Settings & options).
    5. Click **Confirm** and repeat the steps for further calendars.
  </Step>

  <Step title="Activate">
    Activate the integration via the **toggle** in the top right. anny checks the connections and starts the initial sync.
  </Step>
</Steps>

Once the integration is active, all future appointments and bookings are reconciled and changes are synced continuously in real time.

<Tip>
  After creating a connection, use the **Error diagnosis** action in the rule table. Among other things, it checks whether the calendar is reachable, whether automatic replies are active, and whether other integrations or ICS imports overlap with the calendar.
</Tip>

### Settings & options

Each connection (row in the table) has its own settings. To edit them, the integration must be deactivated.

| Setting                               | Description                                                                                                                                                                                                                                                      |
| :------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Select booking options                | Only bookings of the selected booking options are synced to the calendar. Without a selection, **All booking options** applies.                                                                                                                                  |
| Create as online meeting              | For synced bookings, the appointment is created as a Teams meeting. The customer and participants are added as invitees and receive the join link.                                                                                                               |
| Add preparation and follow-up time    | The appointment in the calendar additionally includes the preparation and follow-up time of the booking (for example, a 30-minute booking with 15 minutes of preparation time is created as a 45-minute appointment).                                            |
| Sync all events                       | By default, anny ignores appointments with the status "free" or "working elsewhere". With this option, these are also taken over as a blocker or booking.                                                                                                        |
| Create appointments as blockers       | Incoming appointments are created as blockers. If you deactivate the option, you have to choose a **default service for bookings**: appointments are then created as confirmed bookings with this service, including the organizer as customer and participants. |
| Anonymize appointments                | All taken-over appointments get an anonymous subject in anny. Appointments marked as private or confidential are always anonymized, even without this option.                                                                                                    |
| Convert existing blockers to bookings | Appears when switching a connection from blocker to bookings: already created blockers of this connection are re-synced on the next activation and converted to bookings.                                                                                        |

In the booking view, the **Calendar synchronization** panel shows the source, the connected calendar, and the sync direction for each synced booking. There you also find the link **Show event in external calendar** and the button **Re-sync calendar**.

## Limitations

The Microsoft 365 integration does not support:

* **On-premise mailboxes:** Only Exchange Online calendars in the cloud work. Unreachable mailboxes are marked with "Microsoft calendar not reachable" and skipped.
* **Sub-calendars:** The main calendar of the selected account is always synced, no additional calendars of a mailbox.
* **Past appointments:** Only appointments from the day of activation onward are imported; older entries remain untouched.
* **Duplicate connections:** Each calendar can be used in only one connection. If a resource is additionally connected via a personal Outlook integration, the integration cannot be activated.
* **Editing while active:** Connections can only be changed while the integration is deactivated.

## Disconnecting

<Warning>
  If you deactivate the integration, synchronization stops immediately; already synced appointments, blockers, and bookings remain on both sides. If you delete the integration, anny removes the synchronizations it created: appointments created by anny are deleted from the Microsoft calendars, and blockers and bookings created from appointments are removed from anny. When deleting, you choose whether this applies to **Only future synchronizations** or **All synchronizations (including past)**.
</Warning>

You can do both under **Integrations**: deactivate via the **toggle** in the top right, delete via the **three dots** → **Delete**.

## FAQ

<AccordionGroup>
  <Accordion title="What is the difference from the personal Outlook integration?">
    The Microsoft 365 integration connects the entire organization: an administrator authorizes once, after which any person and room calendars of the organization can be coupled with resources. With the personal Outlook integration, by contrast, each person signs in with their own account. More on this in the overview article [Calendar integrations](/en/calendar-integrations).
  </Accordion>

  <Accordion title="Which calendars can I connect?">
    All accounts of your Microsoft 365 organization that have an email address: users as well as room and resource mailboxes. The main calendar of the account is synced in each case. In the **Microsoft calendar** selection, you can search by email address.
  </Accordion>

  <Accordion title="Are private appointments taken over?">
    Yes, but without content: appointments marked as private or confidential always appear in anny with an anonymous subject. With the option **Anonymize appointments**, you can additionally anonymize all appointments of a connection.
  </Accordion>

  <Accordion title="What happens when a booking is cancelled?">
    anny deletes the associated appointment in the Microsoft calendar. Conversely: if an appointment in the calendar is deleted, anny removes the blocker or cancels the booking created from it.
  </Accordion>

  <Accordion title="How fast are changes synced?">
    Booking changes from anny are transferred immediately. Changes in the calendar are reported by Microsoft via push notification, usually within seconds. With very many changes at once, Microsoft can throttle the connection briefly; anny catches up on the changes automatically afterwards.
  </Accordion>
</AccordionGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="A calendar is not synced">
    Usually the mailbox is not reachable, for example because it is on-premise or no longer exists; the connection is then marked with "Microsoft calendar not reachable" and skipped. Deactivate the integration, check the connection via the **Error diagnosis** action, correct the calendar, and activate the integration again. On activation, anny resets the error and tries again.
  </Accordion>

  <Accordion title="The integration deactivated itself">
    The authorization became invalid, for example because consent was revoked or restricted in the Microsoft admin center, or Microsoft permanently refused the push connection. The affected admins receive a notification with the reason. Click **Authorize**, grant consent again, and reactivate the integration.
  </Accordion>

  <Accordion title="Appointments or blockers appear twice">
    The calendar or resource is connected multiple times, for example additionally via a personal Outlook integration or an ICS import/export of the resource. The **Error diagnosis** action shows such overlaps. Remove the duplicate connection and then sync via **Re-sync calendar** in the affected booking.
  </Accordion>

  <Accordion title="A booking does not appear in the calendar">
    Check whether the booking belongs to the booking options chosen in **Select booking options** and whether it is confirmed or requested; declined and cancelled bookings are not transferred. Bookings that are more than about 12 months in the future are only synced once they move into the sync period.
  </Accordion>
</AccordionGroup>

> Important information for agents:
>
> **Distinction:** This article covers the organization-wide integration "Microsoft 365" (admin consent for the entire tenant, app access without user login). NOT meant: the personal Outlook integration (login per person, article "Outlook"), the Outlook add-in, the MS Teams app, and the MS Teams video meeting integration. The Google counterpart is "Google Workspace".
>
> **UI paths:** Menu bar → **Integrations** → **Microsoft 365**. Authentication: panel with button "Authorize" (OAuth redirect to Microsoft admin consent). Rules: panel "Calendar synchronization settings" → button "Add" → modal "Create Microsoft connection"/"Edit Microsoft connection". Fields exactly: "Choose the resource to synchronize:", "Select booking options", "Microsoft calendar", "Create as online meeting", "Add preparation and follow-up time", "Sync all events", "Create appointments as blockers", "Default service for bookings", "Anonymize appointments", checkbox "Convert existing blockers to bookings". Table columns: "Resource", "Calendar", "Booking options", "Sync as" (values "Blocker" / "Booking (service name)"), "Online meetings". Rule actions (only when the integration is deactivated): "Error diagnosis", "Edit", "Delete". Integration actions: "Activate integration", "Deactivate integration", "Open settings", "Test connection", "Delete".
>
> **Quirks:** (1) Sync period: today up to 365 days ahead, extended by 30 days every 30 days. (2) Outgoing, bookings with status confirmed, requested, and invited are synced; bookings of sub-resources of a linked resource are synced via the parent resource's rule. (3) Created appointments get the category "anny resource-name" and the booking info as description; the appointment name is always the booking name (fallback booking number), not configurable. (4) Incoming appointments with status "free"/"working elsewhere" are ignored by default; if an existing appointment switches to "free", the blocker is removed (treated like a deletion). (5) Series appointments from Microsoft: each occurrence is tracked individually as a blocker/booking; partial changes and partial deletions of the series are carried over. (6) All-day appointments are set to day boundaries in the resource's time zone. (7) With "Default service for bookings": the appointment organizer is created as a customer or matched by email to an existing customer profile (unless they are the calendar owner themselves); participants become booking participants; no customer notifications are sent. If the source appointment is deleted, the booking is cancelled (not deleted), a blocker is deleted. (8) Activation fails with "Duplicate integration" ("Only one integration may exist that connects the same (sub-)calendar and the same resource.") if the same calendar is in two rules or a resource is additionally connected via a personal Outlook integration. (9) Unreachable mailbox (404, for example on-premise): rule error "Microsoft calendar not reachable", rule is skipped, error is reset on the next activation. If the webhook setup fails with server errors, after 3 attempts (intervals about 30 min / 2.5 h / 5 h) the rule is marked with an error and notified; the remaining rules keep running. (10) Push connections (webhook subscriptions) last just under 3 days and are renewed automatically. (11) On Microsoft throttling (HTTP 429/503) the integration pauses and processes the backlog automatically afterwards. (12) Changes that anny itself made in the calendar are recognized as an echo and not synced back. (13) Deleting a rule (with the integration deactivated) removes the synchronizations of that rule; deleting the integration asks for the scope ("Only future synchronizations" / "All synchronizations (including past)"). If the deletion fails, it is cancelled and notified. (14) Resource deleted → rule is removed; service deleted → removed from rule filters, and if it was the default service, the rule switches to blocker. (15) Multiple Microsoft 365 integrations per organization are possible ("Create another integration").
>
> **Relationships:** Feature gating via the plan feature calendar synchronization (together with Outlook, Google Calendar, Google Workspace); plan assignment not documented in the article. Related articles: "Calendar integrations" (overview, comparison personal vs. workspace), "Outlook" (personal), "Google Workspace" (counterpart), "Outlook add-in" (booking from within Outlook). The booking panel "Calendar synchronization" shows source "Microsoft 365", "account name", "calendar name", direction ("The calendar event was created due to this booking." / "The booking was created due to the calendar event."), link "Show event in external calendar" and button "Re-sync calendar" (full re-sync, only with the integration active).
