A cloud-based identity and access management service for securing user authentication and resource access
Hello Balamurugan, Susinthika,
When using $select=signInActivity with the Microsoft Graph /users endpoint, it is important to note that the signInActivity property is not guaranteed to be returned for every user.
If a user record does not include the signInActivity block, it does not necessarily mean the user is inactive. This scenario can occur in the following cases:
- The user has never signed in (for example, newly created accounts)
- The sign-in data is not yet available or not populated
- The data is outside the retention window or not recorded
Since sign-in data is derived from sign-in logs and may not exist for all identities, absence of this property should be treated as**“no available sign-in data” rather than “inactive”**
Recommended approach:
- Use
signInActivityonly when it is present to evaluate inactivity - For users without this property, consider using
createdDateTimeor handle them as a separate category (e.g., never signed-in / unknown activity)
This ensures more accurate classification and avoids incorrectly marking users as inactive. https://learn.microsoft.com/en-us/entra/identity/monitoring-health/concept-sign-ins