Unused Mailboxes
The question it answers: Which mailboxes have not received mail for longer than the inactivity threshold?
Mailboxes that have not received mail for more than the inactivity threshold (Settings > Report thresholds).
At a glance
Section titled “At a glance”| Where in the app | Exchange Online › Mailboxes › Unused Mailboxes |
| Workload | Exchange Online |
| Kind | Table |
| Data | Read 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. |
| Licence | Exchange Online. |
| Report id (API and MCP) | exchange.mailboxes.unused |
Columns
Section titled “Columns”| Column | Key | Type |
|---|---|---|
| Display Name | DisplayName | Text |
| User Principal Name | UserPrincipalName | Text |
| Primary Address | PrimarySmtpAddress | Text |
| Last Activity Date | NewestItemReceivedDate | Date |
What it needs
Section titled “What it needs”Licence: Exchange Online.
Application permissions on the IntensiveReports app registration (all permissions):
| Permission | API | What it allows | Note |
|---|---|---|---|
Exchange.ManageAsApp | Office 365 Exchange Online | Manage Exchange As Application |
Roles and other setup:
- Exchange role: View-Only Recipients
Data sources it reads
PowerShell: Get-EXOMailbox -ResultSize UnlimitedPowerShell: Get-EXOMailboxFolderStatistics -IncludeOldestAndNewestItems
Through the API and MCP
Section titled “Through the API and MCP”GET /ir-api/v1/reports/exchange.mailboxes.unused?size=100An AI assistant reads it with the MCP tool get_report and the id exchange.mailboxes.unused. The client needs the Read grant for Exchange Online. See Using the API.