Skip to content

Copilot Licence Candidates

The question it answers: Which heavy Microsoft 365 users do not have a Copilot licence yet?

Copilot pays off for people who already live in Outlook, Teams, Word, Excel and PowerPoint. These are the heaviest Microsoft 365 users who do not have a Copilot licence yet - the first place to move a seat that is going unused.

Where in the appLicensing › Copilot Candidates
WorkloadLicensing
KindTable
DataBuilt from the tenant data IntensiveReports keeps in memory and refreshes in the background, so it opens at once.
LicenceNone; Copilot usage data exists only for users with Microsoft 365 Copilot.
Report id (API and MCP)entra.licensing.copilot-candidates
ColumnKeyType
UserDisplayNameLink
ScoreScoreText
Apps usedAppsText
PlatformsPlatformsText
DepartmentDepartmentText
Job titleJobTitleText
Last activityLastActivityDate
FilterKey (API)On when the page opens
Only heavy users (4+ apps)heavyYes

Licence: None; Copilot usage data exists only for users with Microsoft 365 Copilot.

Application permissions on the IntensiveReports app registration (all permissions):

PermissionAPIWhat it allowsNote
Reports.Read.AllMicrosoft GraphRead all usage reports
User.Read.AllMicrosoft GraphRead all users’ full profiles
User-LifeCycleInfo.Read.AllMicrosoft GraphRead all users’ lifecycle information
Organization.Read.AllMicrosoft GraphRead organization information
Data sources it reads
  • GET /v1.0/reports/getM365AppUserDetail(period='D30')
  • GET /v1.0/users (assignedLicenses)
  • GET /v1.0/subscribedSkus
  • GET /v1.0/copilot/reports/getMicrosoft365CopilotUsageUserDetail(period='D30')
GET /ir-api/v1/reports/entra.licensing.copilot-candidates?size=100
GET /ir-api/v1/reports/entra.licensing.copilot-candidates?filter=heavy

An AI assistant reads it with the MCP tool get_report and the id entra.licensing.copilot-candidates. The client needs the Read grant for Licensing. See Using the API.