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.
Admin consent often belongs to a different team than the sponsor: it is the request to anticipate. A screen-by-screen guide is provided, and setup is assisted during the beta.
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.
- Three classic causes: the Organization.Read.All or User.Read.All permissions are missing (Microsoft degrades silently); the Copilot licenses live in another Microsoft tenant; or report anonymization is enabled in the M365 admin center.
- 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.