Skip to content
CAMPUX Cloud Bootcamp
Field notes · Migration
Teams Cross-Tenant Migration

Microsoft Teams tenant-to-tenant migration: what actually moves, and what doesn't

By Captain O8 min read

Someone asks you to "just move the Teams" during a merger, and it sounds like one job. It is not. A Team is a front end stitched over several separate services, and the part everyone cares about — the conversations — is the part Microsoft gives you the least help moving.

New to cloud? CAMPUX is a free, build-first course. Start here →

The short answer: in a Microsoft Teams tenant-to-tenant migration, the SharePoint files and the underlying Microsoft 365 group move with cross-tenant SharePoint/OneDrive migration; the Teams themselves are recreated in the target tenant; and chat + channel-post history has no clean native mover — you accept the loss, archive it, or use a third-party tool.

This is part of the Azure tenant-to-tenant migration guide, and Teams is the piece that breaks the most hearts. People picture a Team as one object, so they assume there is one object to move. Set that expectation early with whoever hired you: there is no native, single-action "move this Team to the other tenant" that carries the chat history with it. The files can move. The group can be recreated. The conversations are where the honesty has to start.

A Team is a group + a SharePoint site + chats; files move, chat history is the hard part.a Team =group + site + chatM365 groupmovesSharePoint sitefiles movechannel chatshard / limitedfiles move with cross-tenant SharePoint; chats usually don’t —recreate the teams, accept or tool the chat history
Figure 1 — A Team is a Microsoft 365 group, a SharePoint site for its files, and its channel conversations. There is no clean native move that carries chat history to another tenant. The files travel with the cross-tenant SharePoint migration and you recreate the teams; channel and chat history is the hard part — tool it or accept the loss, and say which up front.

What a Team actually is

Open one Team and you are looking at four or five services wearing a single coat. Underneath, per Microsoft's own description, a Team is built on a Microsoft 365 group — that group holds the membership, and changes to it sync straight into the Team. Bolted onto that group is a SharePoint site where every file lives, with one folder per channel. There is also an Exchange mailbox, a OneNote notebook, and the channels themselves, which hold the message threads people think of as "the Team." So when you say you want to move a Team, you are really asking to move a group, a SharePoint site, a mailbox, and a pile of conversation data — each of which has its own migration story, and they do not all have happy endings.

The Team is a coat. The migration is four separate garments underneath it.

What genuinely moves: the files and the group

The good news lives in SharePoint. Because a Team's files sit in a SharePoint site, they move with the same tenant-to-tenant machinery covered in the cross-tenant SharePoint migration — content stays inside the Microsoft 365 cloud, and a redirect is dropped at the old location so existing links keep resolving. Group-connected sites, including the ones behind Teams, are explicitly in scope for that feature. You also recreate the group and its membership on the target, which you can do by hand for a handful of teams or with the Graph Teams APIs and PowerShell for many. That gets you the documents and the roster on the new tenant. It does not get you the talking.

Read this line before you promise anything

Microsoft states it directly: the cross-tenant SharePoint migration does not include migration of Teams content, channels, or structure. If you migrate a Teams-connected SharePoint site, only the SharePoint site content moves to the target. The channel posts, the replies, the private and group chats — none of that rides along with the files. Plan the conversation piece as a separate project, or plan to lose it.

What is hard: chats, channel posts, apps and tabs

Message history is the wall everyone hits. Microsoft does offer a Graph import API that can write back-dated messages into a channel put into migration mode, preserving the original author and timestamp — but read what it is built for. It is designed to bring history in from external platforms during a one-time migration, it demands application permissions and custom code, and it is throttled hard to protect the service. It is a plumbing primitive, not a tenant-to-tenant Teams mover. That is exactly why a small industry of third-party tools exists: they drive that API and stitch the rest together. Even then the result is imperfect — one-to-one chats often get rehydrated by a service account and become group conversations, meeting chats lose their meeting tag, and mentions and Loop components tend not to survive. Apps, tabs, bots, and connectors are recreated, not copied; each has to be re-added and reauthorized on the target. None of this is a knock on your skills. It is the shape of the platform.

The approach that survives contact with reality

Work it as four tracks, not one. Move the files with cross-tenant SharePoint migration. Recreate the teams, channels, membership, and app configuration on the target with scripts or the Graph Teams APIs. Then make an explicit, written decision about conversation history before you touch anything — because that decision drives the budget and the timeline more than the files ever will. If chat history is a genuine business or compliance requirement, price a third-party tool and accept its rough edges. If it is not, freeze the source tenant read-only for a reference window, tell users plainly that old chats stay on the old tenant, and let them start clean. The migration everyone remembers as smooth is the one where you named that trade-off out loud on day one, not the one where you quietly hoped the chats would follow the files.

The takeaway

A Team is a Microsoft 365 group plus a SharePoint site plus channels plus a mailbox, and the tenant-to-tenant story is different for each. Files move cleanly through cross-tenant SharePoint migration. The group and structure you recreate. Conversation history has no clean native mover — there is an import API meant for bringing history in from elsewhere, third-party tools that drive it with known compromises, or the honest option of leaving chats behind on a frozen source tenant. Promise the files. Be honest about the chats. Anyone who has actually run one of these migrations leads with that distinction; the brochure is the only place the chats appear to move for free.

Questions people also ask

Can you migrate a Microsoft Team to another tenant natively?

Not as a single action. Microsoft has no native button that moves a whole Team, with its chat history, from one tenant to another. The SharePoint files behind the Team can move with the cross-tenant SharePoint migration, and you can recreate the team and channel structure by hand or with scripts. The conversations do not come along for free.

What is a Microsoft Team actually made of?

A Team is a Microsoft 365 group with a set of collaboration surfaces bolted on. Membership lives in the group. Files live in a SharePoint site, one folder per channel. Each team also gets an Exchange mailbox, a OneNote notebook, and channels that hold the message threads. The Team is really a front end over several separate services.

Does cross-tenant SharePoint migration move Teams chat history?

No. Cross-tenant SharePoint migration moves the site content only. Microsoft states plainly that the feature does not include migration of Teams content, channels, or structure, and that if you migrate a Teams-connected site, only the SharePoint files move. The channel conversations and private chats are stored elsewhere and are left behind.

How do you migrate Teams chat history to another tenant?

There is a Microsoft Graph import API that writes back-dated messages into a channel placed in migration mode, but it is built for bringing history in from external platforms and requires app permissions and custom code. Most organizations either wire that API into a third-party migration tool or accept the chat history as a loss and keep the old tenant read-only for reference.

What is the practical way to move Teams between tenants?

Move the files with cross-tenant SharePoint migration, recreate the teams, channels, membership, tabs, and apps on the target with scripts or the Graph Teams APIs, and decide up front what to do about conversations. If chat history is a business requirement, budget for a third-party tool; if it is not, freeze the old tenant and start clean on the new one.

Further reading — the Microsoft docs
Your next class · free
You've read the idea. Class 7 — Entra ID, Subscriptions, Groups is where you build it, hands-on — no account needed.Start Class 7 →
Captain O
Founder & instructor · CAMPUX Cloud Engineering Bootcamp
Part of the tenant-to-tenant migration field manual. Back to all field notes →