Microsoft Copilot
Harmony's Microsoft Copilot integration connects your Microsoft 365 tenant to give you visibility into who holds a Copilot license and who actually uses it. Once connected, Harmony syncs your Copilot-licensed user inventory and daily Copilot interaction activity, then surfaces it across your application, instance, and user views - helping you reclaim unused Copilot seats, track adoption by app, and justify Copilot spend.
What the Microsoft Copilot integration enables
License Optimization
Identify Copilot licenses that are assigned but never used, and reclaim the seats
Usage Analytics
Track Copilot prompt volume per user, broken down by the app the prompt came from
Per-App Adoption
See Copilot adoption separately for Teams, Word, Excel, PowerPoint, Outlook, and Copilot Chat
License Tier Visibility
See which Copilot SKU each user holds (Microsoft 365 Copilot, Copilot for Sales, and other Copilot plans)
Activity Monitoring
Daily Copilot interaction history sourced from the Microsoft Purview unified audit log
Prerequisites
Microsoft 365 Copilot licenses in your tenant - Harmony inventories only users who hold a Copilot license. A tenant with no Copilot SKUs syncs an empty inventory.
Microsoft Entra Global Administrator - admin consent is required, because Harmony uses application (app-only) permissions rather than acting as a signed-in user.
Microsoft Purview audit logging enabled - Copilot usage is read from the unified audit log. If auditing is off, user inventory still syncs but usage data will be empty.
A Harmony account with admin privileges.
Cloud availability: The Microsoft Graph APIs used by this integration are available in the global Microsoft 365 service only. They are not available in US Government (GCC High / DoD) or 21Vianet China cloud deployments.
Connect Microsoft Copilot to Harmony
Step 1: Navigate to Integrations
Log into your Harmony dashboard
Navigate to Settings > Integrations
Find Microsoft Copilot under AI
Step 2: Authorize with Microsoft
Initiate the connection
Click the Microsoft Copilot integration card
Click Connect
A Microsoft sign-in window will open.
Sign in as a Global Administrator
Sign in with a Microsoft Entra account that holds the Global Administrator role. A non-admin account cannot complete this step, because the permissions Harmony requests require tenant-wide admin consent.
Grant admin consent
Review the permissions Harmony is requesting (see Permissions Explained below)
Check Consent on behalf of your organization if prompted
Click Accept
The window closes automatically and you are returned to Harmony
Once authorized, Harmony begins syncing. Your Copilot-licensed user inventory is collected first and refreshes every 6 hours. Copilot interaction activity is collected once per day.
Disconnect Microsoft Copilot from Harmony
Log into your Harmony dashboard
Navigate to Settings > Integrations
Find Microsoft Copilot under AI and click the integration card
Click Disconnect
Confirm the disconnection when prompted
Once disconnected, Harmony stops syncing data from Microsoft Copilot. Previously synced data remains available in Harmony. To fully revoke access on the Microsoft side, remove the Harmony enterprise application from Microsoft Entra admin center > Enterprise applications.
What Harmony Syncs from Microsoft Copilot
User profiles
Display name, email address, and account status (enabled or disabled)
Copilot license
The Copilot plan each user holds, resolved to a friendly name
Organizational details
Department, job title, user type, account creation date, and last password change date
Active services
The Microsoft 365 service plans currently enabled for the user
Copilot interactions
One record per Copilot prompt, with the app it came from, the event type, access mode, license type, and timestamp
Prompt volume
Per-user prompt counts, broken down by the Copilot host app
Harmony does not read your Copilot prompts or responses. Harmony records that an interaction happened and counts it - the app it came from, when it happened, and the license used. The text of prompts and Copilot's replies is never collected or stored.
Permissions Explained
Harmony requests application (app-only) Microsoft Graph permissions, which is why a Global Administrator must grant consent for the whole organization.
Required permissions
User.Read.All
Application
Read user profiles and their assigned licenses, so Harmony can build the inventory of Copilot-licensed users
Organization.Read.All
Application
Read the tenant's subscribed SKUs to identify which licenses are Copilot licenses, and read the organization identity used to associate synced data with the correct tenant
AuditLogsQuery.Read.All
Application
Query the Microsoft Purview unified audit log for Copilot interaction records - the source of all usage and adoption data
AuditLogsQuery.Read.All cannot be narrowed. Microsoft publishes service-scoped variants of this permission (for Exchange, SharePoint, OneDrive, Entra, and others), but there is no Copilot-scoped variant. Reading Copilot interaction records requires the tenant-wide audit query permission.
The older AuditLog.Read.All permission is not a substitute. Where it is granted instead, audit queries return successfully with zero records rather than failing - so usage data silently stays empty.
Use Cases
Troubleshooting
Data & Privacy
Last updated
Was this helpful?
