> For the complete documentation index, see [llms.txt](https://docs.harmony.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.harmony.io/integrations/saas-applications/microsoft-365.md).

# Microsoft 365

Microsoft 365 is Microsoft's cloud-based productivity suite, encompassing Office apps, Exchange, Teams, SharePoint, and more. Connecting Microsoft 365 to Harmony gives IT teams full visibility into user accounts, license assignments, and sign-in activity - making it easy to manage access, optimize license spend, and stay on top of account hygiene.

{% hint style="info" %}
This integration is read-only. Harmony pulls data from Microsoft 365 but does not make changes to your tenant.
{% endhint %}

#### What the Microsoft 365 integration enables

| Capability           | Description                                                           |
| -------------------- | --------------------------------------------------------------------- |
| User Discovery       | Automatically surface all M365 users in Harmony's employee directory  |
| License Tracking     | See which licenses are assigned to each user across all M365 products |
| Sign-In Monitoring   | Track last sign-in activity to identify inactive or at-risk accounts  |
| License Optimization | Identify unassigned or underused licenses to reduce spend             |

#### Prerequisites

* **Microsoft Azure AD Role**: **Global Reader** or **User Administrator** role in Azure AD
* **Microsoft 365 Subscription**: Active M365 tenant
* **Harmony Account**: Active Harmony workspace

#### Connect Microsoft 365 to Harmony

**Step 1: Navigate to Integrations**

1. Log in to your Harmony dashboard
2. Go to **Settings** > **Integrations**
3. Find **Microsoft 365** under **SaaS Applications** and click **Connect**

**Step 2: Sign in with Microsoft**

1. You will be redirected to Microsoft to authorize the connection
2. Sign in with a Microsoft account that has **Global Reader** or **User Administrator** role in Azure AD
3. Review the requested permissions and click **Accept**

**Step 3: Authorize and Save**

1. Harmony will connect to your Microsoft 365 tenant
2. Click **Save**

#### What Harmony Syncs

**From Microsoft 365:**

* User accounts (name, email, UPN, account status)
* Assigned licenses per user (product name and service plan)
* Last sign-in date and sign-in activity
* License pool totals (purchased vs. assigned)
* Account enabled/disabled status

#### Supported License Types

Harmony recognizes a broad and growing set of Microsoft 365 license types. The following licenses are currently supported for detection and display:

* EMS
* Power BI Standard
* Microsoft 365 E3 (no Teams)
* Microsoft Teams Enterprise
* Cloud PC (4C/16GB/256GB)
* Office 365 E3 (no Teams)

As Microsoft introduces new license SKUs, Harmony continues to expand coverage to ensure your license data stays accurate and complete.

#### Use Cases

<details>

<summary>License Spend Optimization</summary>

Identify users with licenses they haven't used in 30+ days and reclaim seats to reduce M365 costs

</details>

<details>

<summary>Offboarding Verification</summary>

Confirm that M365 licenses and accounts have been properly disabled or removed as part of offboarding workflows

</details>

<details>

<summary>Account Hygiene</summary>

Surface stale or inactive accounts for review and remediation before they become a security risk

</details>

<details>

<summary>License Audit</summary>

Generate reports on license allocation across the org for procurement planning and compliance purposes

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.harmony.io/integrations/saas-applications/microsoft-365.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
