๐ณ Recipe ยท Licensing & Cost Optimization
Find E5 Users Without Microsoft 365 Copilot Licenses
Identify Microsoft 365 E5 license holders who are candidates for Copilot rollout or license gap analysis
Complexity
Intermediate
Impact
licensing + cost-optimization + reporting + governance + copilot-rollout
Context
Why This Matters
Microsoft 365 Copilot is a separate add-on SKU that must be explicitly assigned on top of a base license such as Microsoft 365 E5. As organizations roll out Copilot in phases, admins frequently need to answer two questions:
- Who already has E5 but hasn't been provisioned Copilot yet? (rollout planning, waitlist management)
- Are we missing revenue/productivity opportunities by leaving E5 seats without Copilot when budget exists?
This recipe produces a reliable, reproducible list of every user assigned an E5 SKU (SPE_E5 or equivalent) who does not have a Microsoft 365 Copilot SKU (Microsoft_365_Copilot) on their account. It also flags disabled accounts and service accounts so they can be excluded from Copilot assignment planning.
When to run this
- Before each wave of a phased Copilot rollout
- Quarterly license true-up or renewal planning
- After bulk onboarding events to verify add-on license parity
- When Finance requests a gap analysis between base and add-on SKUs
Expected Outcomes
After running this recipe you will have:
- A complete CSV report of every user with an E5 license but no Copilot license, including display name, UPN, account enabled status, department, job title, and the specific E5 SKU assigned
- Summary counts: total E5 users, users with Copilot, users without Copilot
- An inventory of all E5 and Copilot SKUs found in the tenant (part numbers vary:
SPE_E5,ENTERPRISEPREMIUM,Microsoft_365_Copilot) - A sorted, department-grouped list ready to hand to business owners for prioritization
- Clear separation of service/admin accounts (usually no department or job title) from human users
Risks & Considerations
Things to watch out for
- SKU part numbers vary across tenants and regions. Microsoft occasionally ships new E5 variants (e.g.,
SPE_E5_CALLINGMINUTES,ENTERPRISEPREMIUM_NOPSTNCONF). Always inspect/subscribedSkusoutput first to confirm which SKUs exist in your tenant. - Group-based licensing: Users may receive E5 via a license-assignment group rather than direct assignment. Both show up in
assignedLicenses, but the remediation path (add/remove) differs. - Disabled and service accounts will appear in results. Filter these out before using the list for Copilot provisioning to avoid wasting a paid add-on seat.
- Do not bulk-assign Copilot based on this list without business approval โ Copilot is a premium paid add-on ($30/user/month list price) and assignment should be driven by rollout plan, not license symmetry.
- Shared mailboxes sometimes carry an E5 license inappropriately. This report will surface that โ treat it as a finding for license reclamation.
- Privacy: The CSV contains UPNs, departments, and job titles. Treat it as internal HR-adjacent data and store accordingly.
Required Permissions
| Permission | Why It's Needed |
|---|---|
| Organization.Read.All | Required to list subscribed SKUs and identify E5 and Copilot SKU IDs in the tenant |
| User.Read.All | Required to enumerate all users and read their assignedLicenses, department, and jobTitle properties |
| Directory.Read.All | Alternative/broader permission if User.Read.All is not already granted; covers user and license directory reads |
The fastest way to get this done โ just ask Dex. Copy the prompt below and paste it into your Dex conversation.
For IT Admins
Paste into Dex CoAdmin