A migration is a route.
MigrateX walks it with you.

Six steps, each on its own page, each with the numbers that matter and one obvious next action. Nothing changes in either tenant until you start a pass, and the source stays live until you cut over.

What you need on day one.

Less than you'd think. No agents, no service accounts, no exports.

Two tenants

The one you are leaving and the one you are moving into. They must be different tenants; the target can be brand new.

One admin at each end

A Global Administrator (Microsoft 365) or super administrator (Google Workspace). They need no license and never share a password.

Target accounts

A person can only land on an account that exists. Create them first — Directory sync can do it from the source directory — or let the assessment tell you who is missing.

A cutover window

Any evening. Everything is already there by then; the window is for DNS and forwarding, not for copying.

  1. 1

    Connect both tenants

    Ten minutes, two admins, no passwords.

    You
    • Create a project and pick the route — Microsoft 365 or Google Workspace at each end, an on-premises Exchange Server as the source, or Zoho Mail on either side of Google — and tick what should move.
    • Sign in at Microsoft as a Global Administrator and approve the MigrateX app; or on Google, add the MigrateX client ID under domain-wide delegation with the listed scopes.
    • Repeat for the target tenant, ideally in a private window so Microsoft doesn't sign you into the first one.
    MigrateX
    • Verifies every permission or scope the chosen scope needs and names the missing ones on the project page.
    • Reads the tenant name, domains and IDs; refuses to connect the same tenant at both ends.
    • Authenticates with a certificate credential; stores tokens encrypted; never sees or stores an admin password.

    Permissions are requested for the workloads you ticked and nothing more. Widen the scope later and re-check; the page tells you exactly what changed.

  2. 2

    Assess

    Know the size and the snags before anything moves.

    You
    • Press Run assessment. Large tenants take a few minutes; the page updates itself.
    • Read the verdict: a readiness score, blockers to fix first, warnings worth sorting out, notes about what the move will look like.
    • Follow each finding to the tab where it is dealt with — Users, Shared & groups, Sites & Teams, Licenses.
    MigrateX
    • Reads users, mailbox and drive sizes, shared mailboxes, groups, sites and Teams from both tenants — read-only.
    • Auto-matches people by alias, then email alias, then unique display name.
    • Scores readiness: blockers pull the score under 50, each warning costs 12 points, notes are free.

    Run it as often as you like. It is free, it changes nothing, and it is the fastest way to check the target is ready.

  3. 3

    Match users

    Every person needs somewhere to land.

    You
    • Review the pairs. Type a target address for anyone unmatched — the likely one is already suggested — or import a two-column CSV.
    • Exclude leavers so they do not use a license.
    • Pick a handful of pilot users: a couple of big mailboxes, someone with lots of sharing, one shared mailbox.
    MigrateX
    • Never overwrites a pair you set by hand or imported.
    • Warns when a matched target account has no mailbox or license yet.
    • Reserves one license per person and half per shared mailbox the moment their first migration starts — never before.

    Once a person's migration has started, their pair is fixed, so their delta passes always land in the same place.

  4. 4

    Migrate in waves

    Pilot first, then everyone, while the source stays live.

    You
    • Start the pilot users and watch the Migration tab. Open a mailbox or two in the target and check the folders, dates and read state.
    • Migrate the rest in waves that suit your change window — by department, by site, biggest mailboxes first.
    • Start shared mailboxes, groups, sites and Teams from their own tabs once the people in them are matched.
    MigrateX
    • Streams mail, files and history through memory in time-sliced, resumable jobs with a cursor per folder.
    • Honours Microsoft and Google throttling across every worker; retries failures up to five times and keeps the newest reason.
    • Keeps an item map per user so nothing is ever copied twice — not after a retry, a crash or a second press of the button.

    Workers scale horizontally: add another and it picks up the next job. Locks make sure two workers never touch the same mailbox at once.

  5. 5

    Verify & keep in sync

    Prove it, then keep it current for as long as you need.

    You
    • Press Verify. Read the per-folder counts; press Copy missing if anything is listed.
    • Run a delta pass whenever you like — nightly, weekly, the morning of cutover. They are free.
    • Make staged Teams available when their history is complete; after that Microsoft accepts no more history.
    MigrateX
    • Lists every source folder, calendar and drive again and checks each item against the target — read-only on both tenants.
    • Carries only new and changed items on delta passes, using Graph delta links and Gmail history IDs.
    • Tells you by email, Teams or Slack when a pass finishes or something needs a look.

    Verification is the difference between "it should all be there" and knowing it is. Run it before cutover and once more after.

  6. 6

    Cut over

    One guided evening instead of a lost weekend.

    You
    • Work down the ten-step wizard: forwarding, final delta, domain release, claim in the target, MX / SPF / Autodiscover, user notice.
    • Send the ready-made notice to your users. Print the sign-off report for the change record.
    MigrateX
    • Checks DNS and address claims before you flip, and tells you if MX still points at the old tenant.
    • Runs the final delta so the last hour of mail arrives.
    • Produces a printable and CSV report: what moved, what was skipped and why, verified counts, cutover status.

    The cutover page keeps every step, who ticked it and when — the audit trail is built in.

What actually happens when you press Migrate.

A pass is a chain of short, resumable jobs. Each job lists one folder or drive from a cursor, copies what it hasn't seen, records what it copied, and hands the cursor back. Ten minutes later the next slice picks up exactly where it left off.

  1. List — one page of items from the source, from the saved cursor.
  2. Skip — anything already in the item map, or unchanged since last time.
  3. Copy — streamed in chunks; the target tells us the new ID.
  4. Record — source ID → target ID, so it is never copied twice.
  5. Advance — the cursor moves; the job yields; another mailbox gets a turn.

How long does it take?

It depends on data volume and the platforms' own rate limits far more than on MigrateX. As a rule of thumb:

Up to 50 users

A pilot in an afternoon; everyone within a day or two; cutover the following evening.

50 – 500 users

A week of waves while people keep working; delta passes nightly; cutover on a chosen evening.

500+ users

Planned waves over two to four weeks, with the largest mailboxes started first. Workers scale horizontally.

Large mailboxes

Microsoft limits how fast a single mailbox can be read (around 50 GB takes a day or more). Start them early; delta passes afterwards are quick.

Roles for the whole team.

An owner sets up the organization and pays. Operators run projects: connect tenants, match users, start passes, cut over. Viewers watch progress and read reports — handy for the project manager and the business sponsor. Every action lands in an append-only audit log.

  • Owner — everything, plus billing, team and deleting projects.
  • Operator — the migration itself, end to end.
  • Viewer — read-only: progress, findings, reports.

Start with step one — it takes ten minutes.

Create an organization, connect the source tenant and run the assessment. You will know the size of the move, and what needs fixing, before lunch.