Skip to content

Entra ID Groups with Left / Expired Members

The question it answers: Which groups still have members whose employee leave date has passed, and which ones?

Where in the appEntra ID › Groups › Groups With Expired / Left Members
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.groups.expired-left-members
ColumnKeyType
Display NameDisplayNameText
DescriptionDescriptionText
Left/Expired Member CountMembers.CountNumber
Left/Expired MembersMembersText
Expiration Date TimeExpirationDateTimeDateTime
Security GroupSecurityEnabledYesNo
SynchronisedOnPremisesSyncEnabledYesNo
Membership RuleMembershipRuleText

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
Group.Read.AllMicrosoft GraphRead all groups
Data sources it reads
  • GET /v1.0/users?$select=...,employeeLeaveDateTime
  • GET /v1.0/groups?$expand=members
  • GET /v1.0/groups?$expand=owners
GET /ir-api/v1/reports/entra.groups.expired-left-members?size=100

An AI assistant reads it with the MCP tool get_report and the id entra.groups.expired-left-members. The client needs the Read grant for Entra ID. See Using the API.