๐Ÿ’ณ 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 /subscribedSkus output 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

PermissionWhy It's Needed
Organization.Read.AllRequired to list subscribed SKUs and identify E5 and Copilot SKU IDs in the tenant
User.Read.AllRequired to enumerate all users and read their assignedLicenses, department, and jobTitle properties
Directory.Read.AllAlternative/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

Produce a list of all users in our tenant who have a Microsoft 365 E5 license but do NOT have a Microsoft 365 Copilot license. Include display name, UPN, account enabled status, department, and job title. Flag any service or disabled accounts separately, and provide a downloadable CSV.
Try in Dex CoAdmin