Skip to content

Inactive SharePoint Sites (90 days)

The question it answers: Which SharePoint sites have had no change by a user in the last 90 days?

Because of technical limitations on the Microsoft side this report can take a while!

Where in the appSharePoint Online › Sites › Inactive Sites
WorkloadSharePoint Online
KindTable
DataRead from Microsoft 365 when someone first opens it, then kept for the report cache lifetime (Settings > Data & cache, 1 hour unless changed). It reads through PowerShell (Exchange Online or SharePoint Online), so the first load takes longer than a Graph report.
LicenceNo extra licence needed.
Report id (API and MCP)sharepoint.sites.inactive
ColumnKeyType
TitleTitleText
UrlUrlText
Storage Used (GB)StorageUsageGbText
Storage Quota (GB)StorageQuotaGbText
Last Item Modified by a UserLastItemUserModifiedDateDateTime
Last Item ModifiedLastItemModifiedDateDateTime
Last Content ModifiedLastContentModifiedDateDateTime
Check ErrorScanErrorText

Licence: No extra licence needed.

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

PermissionAPIWhat it allowsNote
Sites.FullControl.AllOffice 365 SharePoint OnlineHave full control of all site collectionscertificate PnP
Data sources it reads
  • PowerShell (PnP): Get-PnPTenantSite -Detailed
  • PowerShell (PnP): Connect-PnPOnline + Get-PnPWeb -Includes LastItemModifiedDate, LastItemUserModifiedDate (one call per site)
GET /ir-api/v1/reports/sharepoint.sites.inactive?size=100

An AI assistant reads it with the MCP tool get_report and the id sharepoint.sites.inactive. The client needs the Read grant for SharePoint Online. See Using the API.