Migration Tabmigrationtab.com
OPERATOR DOCS

Setup guide

Configure Entra apps, verify prerequisites, and connect delegated access before running your first discovery job.

1. Entra app registration

Create an app registration per tenant (source/destination). Grant admin consent for:

  • Graph (application): User.Read.All, Sites.Read.All, Files.Read.All, FileStorageContainer.Selected, Bookings.Read.All
  • Microsoft Forms (application): Forms.Read.All
  • Microsoft Forms (delegated): Forms.Read — for group-owned forms only

2. Forms delegated connection

Group-owned forms require a delegated sign-in. In Tenant access, click Connect group Forms (admin). The signed-in user must be a member of groups whose forms you need — global admin alone does not guarantee coverage.

For per-user inventory, generate a one-time discover link from the source tenant card. The end user signs in with Microsoft and only their forms are added to your workspace.

3. Loop SPE guest grant

Graph consent is not enough for Loop workspace content. A SharePoint admin must run Set-SPOApplicationPermission for your migration app on the Loop container type your tenant uses. Use SPE grant commands in the console to copy scripts generated from your client ID.

Choose Loop Web for most tenants. Grant Loop Mobile only if that content exists — you do not need both unless both are in use.

4. Bookings business IDs

App-only list-all for Bookings is not supported by Microsoft. Provide shared business IDs manually when creating discover/export jobs. Personal Bookings is planned.

5. Environment variables

See .env.example in the repository. Production requires NEXT_PUBLIC_APP_URL to match your domain for OAuth redirects.