Skip to content

SaaS App Usage & Seat True-up (7 days)

The question it answers: How many users actually signed in to each SSO app in the last 7 days compared with the users assigned to it?

How many people actually use Salesforce, Zoom, Adobe or any other SSO app compared with how many seats are assigned? Bring this to the contract renewal. Inactive Enterprise Apps only shows each app’s last sign-in.

Where in the appEntra ID › Sign-in & Audit Investigations › SaaS Usage & Seat True-up
WorkloadLicensing
KindFindings list · dashboard tile
DataRead from Microsoft 365 when someone first opens it, then kept for the report cache lifetime (Settings > Data & cache, 1 hour unless changed).
LicenceMicrosoft Entra ID P1 (sign-in logs).
Report id (API and MCP)entra.investigations.saas-usage
ColumnKeyType
SeveritySeverityStatus
AssignmentCategoryText
AppSubjectLink
CheckSettingText
Users signing in / assigned users / groupsValueText
FindingFindingText
App idDetailText
Last sign-inWhenDate
Active users (7 days)NumberNumber

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).

Licence: Microsoft Entra ID P1 (sign-in logs).

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

PermissionAPIWhat it allowsNote
AuditLog.Read.AllMicrosoft GraphRead all audit log data
Application.Read.AllMicrosoft GraphRead all applications
Data sources it reads
  • GET /beta/auditLogs/signIns (cached, 7 days)
  • GET /v1.0/servicePrincipals/{id}/appRoleAssignedTo ($batch)
GET /ir-api/v1/reports/entra.investigations.saas-usage?size=100

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