Skip to content

Stuck Mailbox Migrations & Move Requests

The question it answers: Which migration batches and move requests failed, stalled or are waiting to be completed or removed?

During tenant-to-tenant moves, hybrid off-boarding or archive imports, batches and move requests fail or stall quietly - and completed ones are left behind. This report lists what failed, what stalled and what is waiting for someone to press Complete.

Where in the appExchange Online › Mail Security & Hygiene › Stuck Migrations & Moves
WorkloadExchange Online
KindFindings list · dashboard tile
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)exchange.hygiene.migrations
ColumnKeyType
SeveritySeverityStatus
TypeCategoryText
Batch / mailboxSubjectLink
CheckSettingText
ValueValueText
FindingFindingText
ProgressDetailText
Last updateWhenDate
FailedNumberNumber

A findings list hides columns that no row fills. Severity is Critical, Serious, Warning, OK or Info; rows rated Critical, Serious or Warning need attention (Working with findings).

Licence: No extra licence needed.

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

PermissionAPIWhat it allowsNote
Exchange.ManageAsAppOffice 365 Exchange OnlineManage Exchange As Application+ Move Mailboxes / View-Only Recipients
Data sources it reads
  • Get-MigrationBatch
  • Get-MoveRequest
  • Get-MoveRequestStatistics
GET /ir-api/v1/reports/exchange.hygiene.migrations?size=100

An AI assistant reads it with the MCP tool get_report and the id exchange.hygiene.migrations. The client needs the Read grant for Exchange Online. See Using the API.