Microsoft 365 Apps Activations & Desktop Right-sizing
The question it answers: Which users activated Microsoft 365 Apps on how many devices, and who is licensed for the desktop apps but never installed them?
Every desktop activation counts against the 5-PC/Mac limit, activations stay with disabled users, and many users licensed for the desktop apps never install them - they are candidates for cheaper web-only plans (E1/F3, Business Basic). Licence Usage measures workload activity; this report measures desktop installs.
At a glance
Section titled “At a glance”| Where in the app | Licensing › Licence Value & Entitlements › M365 Apps Activations & Right-sizing |
| Workload | Licensing |
| Kind | Findings list · dashboard tile |
| Data | Read from Microsoft 365 when someone first opens it, then kept for the report cache lifetime (Settings > Data & cache, 1 hour unless changed). |
| Licence | No extra licence needed. |
| Report id (API and MCP) | entra.licensing.apps-activations |
Columns
Section titled “Columns”| Column | Key | Type |
|---|---|---|
| Severity | Severity | Status |
| Product | Category | Text |
| User | Subject | Link |
| Check | Setting | Text |
| Windows / Mac / mobile | Value | Text |
| Finding | Finding | Text |
| UPN | Detail | Text |
| Last activated | When | Date |
| Desktop activations | Number | Number |
A findings list hides columns that no row fills. Severity is Critical, Serious, Warning, OK or Info; rows rated Critical, Serious or Warning need attention (Working with findings).
What it needs
Section titled “What it needs”Licence: No extra licence needed.
Application permissions on the IntensiveReports app registration (all permissions):
| Permission | API | What it allows | Note |
|---|---|---|---|
Reports.Read.All | Microsoft Graph | Read all usage reports | |
Organization.Read.All | Microsoft Graph | Read organization information | |
User.Read.All | Microsoft Graph | Read all users’ full profiles |
Data sources it reads
GET /beta/reports/getOffice365ActivationsUserDetailGET /v1.0/subscribedSkus (service plans)GET /v1.0/users (cached)
Through the API and MCP
Section titled “Through the API and MCP”GET /ir-api/v1/reports/entra.licensing.apps-activations?size=100An AI assistant reads it with the MCP tool get_report and the id entra.licensing.apps-activations. The client needs the Read grant for Licensing. See Using the API.