Connector
The real cost of your Microsoft 365 Copilot seats.
A Copilot seat is paid every month, used or not. optidome measures real usage per employee, counts purchased, assigned and never-activated seats, then prices the dormancy.
Connection through the official admin API, read-only: optidome never modifies the configuration of your tools.
What optidome measures
The data collected, as is.
| Data | Detail |
|---|---|
| Usage per employee | The Copilot usage report over a rolling 30 days (Graph API v1.0), employee by employee. |
| Purchased and assigned seats | Subscriptions and licenses by SKU: what you pay versus what is distributed. |
| Dormancy | An assigned seat that is never active is a dormant seat: the exact list, and the potential saving. |
| Configurable seat price | The calculation uses your real negotiated Microsoft rate (default: 30 USD per seat per month). |
Setup
What to prepare.
- Who, on your side
- Someone who can create an App registration, and a Global Admin for consent.
- Prerequisites
- A Microsoft 365 tenant with Copilot licenses.
- What to provide
- Three values: Client ID, Client Secret and Azure Tenant ID.
- Where to get it
- Azure Portal → App registrations → New; application permissions (not delegated) Reports.Read.All, Organization.Read.All and User.Read.All; admin consent required.
Frequently asked questions
Before you start.
- Does the analysis slow down Copilot for employees?
- No. The connector queries the Microsoft Graph API directly, server-side, as a background job. There is no impact on latency or user experience.
- The sync is green but no seats show up.
- Two classic causes: the Organization.Read.All or User.Read.All permissions are missing (Microsoft does not report the error); or the Copilot licenses live in another Microsoft tenant.
- Every license shows as dormant.
- By default, Microsoft conceals user names in its usage reports, so Optidome cannot tie any activity to a person. A Global Administrator lifts this in the Microsoft 365 admin center: Settings, Org settings, Services, Reports.
- A 401 error at authentication?
- The most frequent case: the secret ID (a GUID) was copied instead of its Value. Authentication then fails before any call; it is not a permission issue.
- Do we need to deploy an agent on workstations?
- No. Everything goes through the Microsoft Graph API, server-side, read-only.
Private beta
Access is by application, and the setup of your first connector is assisted: shared screen, until the first data lands.