Skip to content

Directory Data Quality

The question it answers: Which enabled members are missing a department, job title, manager or usage location, or share a display name?

Dynamic groups, licence assignment, access reviews by manager, org charts and every department report in this console depend on a few user attributes being filled in. Licensed users without a usage location cannot receive some licences at all and are listed first.

Where in the appEntra ID › Identity Lifecycle › Directory Data Quality
WorkloadEntra ID
KindTable
DataBuilt from the tenant data IntensiveReports keeps in memory and refreshes in the background, so it opens at once.
LicenceNo extra licence needed.
Report id (API and MCP)entra.lifecycle.directory-data-quality
ColumnKeyType
UserDisplayNameLink
MissingMissingStatus
DepartmentDepartmentText
Job titleJobTitleText
Usage locationUsageLocationText
ManagerHasManagerYesNo
LicensedLicensedYesNo
UPNUserPrincipalNameText
FilterKey (API)On when the page opens
Only users with missing datamissingYes

Licence: No extra licence needed.

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

PermissionAPIWhat it allowsNote
User.Read.AllMicrosoft GraphRead all users’ full profiles
User-LifeCycleInfo.Read.AllMicrosoft GraphRead all users’ lifecycle information
Data sources it reads
  • GET /v1.0/users (department, jobTitle, usageLocation, assignedLicenses)
  • GET /v1.0/users?$select=id&$expand=manager($select=id)
GET /ir-api/v1/reports/entra.lifecycle.directory-data-quality?size=100
GET /ir-api/v1/reports/entra.lifecycle.directory-data-quality?filter=missing

An AI assistant reads it with the MCP tool get_report and the id entra.lifecycle.directory-data-quality. The client needs the Read grant for Entra ID. See Using the API.