BitTitan enjoys a well-earned reputation as a leader in the migration space where their MigrationWiz product has many happy customers. At the recent Inspire conference, BitTitan announced that MigrationWiz could now move Teams settings, permissions, conversations, and files (SharePoint) between Office 365 tenants.
Teams is on a roll right now. Microsoft says that over 500,000 organizations use Teams with 19 million weekly active users. Now that Microsoft has announced the retirement of Skype for Business Online in July 2021, the pressure for tenants to move off Skype for Business Online will grow and the number of Teams users will swell. Given this popularity, it’s inevitable that Teams will feature in many merger and acquisition projects for Office 365 tenants.
The MigrationWiz Approach
I spoke with David Mills and Merlin Woodman of BitTitan to understand how they approach the problem of moving Teams data between tenants. They explained that the MigrationWiz process was very straightforward.
First, an inventory of Teams in the source tenant is done to understand the settings that need to be moved (channels, permissions, and membership). This process is quick (about 30 seconds a team) and allows the administrator to plan the migration, including understanding if they have enough licenses for the move.
Cross-Tenant Teams Migration Process
Once everything’s prepared, migration is done by connecting the MigrationWiz global administrator account in the source tenant to the teams to be moved. MigrationWiz prepares the target tenant by creating teams matching the teams to be migrated and populating channels and membership (including team owners) using an administrator account from the target tenant.
MigrationWiz then reads conversations and replies from the source teams in HTML format and recreates them in the equivalent teams in the target tenant. Graph APIs are used to read and write Teams information. The current version of the Teams Graph API for conversations is in beta, but BitTitan is happy to support MigrationWiz for Teams on that basis.
Three points grabbed my attention:
- The content of a topic (original note and all replies) from a source team are concatenated into a single post and written into a channel (of the same name) in the target team. Concatenation means that the topics are presented as a single entity in the target team (Figure 1). MigrationWiz calls this “thread rehydration” and stamps each topic as a “conversation migrated from previous tenant.”. Migrated posts in the target tenant have a new timestamp and UTC dates are shown for the replies in the migrated posts because that’s what Teams exports. Users can reply to the migrated posts once they reach the target tenant.
- Only recent conversations are reposted in the target teams. Older conversations end up as HTML files in the SharePoint document library belonging to the team. MigrationWiz creates a “Conversation History” tab pointing to the file to allow users access to the older conversations. Although this approach works, I’m sure that some organizations would prefer all source conversations were recreated as conversations in the target teams. BitTitan say that they have tested with over 10K messages in the file, but I have some concern as to how large this file might become when migrating very active teams that have been in use for more than a few months. I guess time will tell.
- MigrationWiz doesn’t move reactions to posts and replies from the source conversations. This is an API limitation that could pose an issue for compliance officers as a “like” or other reaction is a strong indication that someone read and acknowledged a post. Retaining reactions gathered by Teams was focused on in a January 2019 report on Teams compliance by Cohasset Associates.
Teams meetings are always likely to be a problem when migrating users between tenants. Meetings scheduled in user calendars from the source tenant won’t work when they get to the target tenant. One way around this is to move mailboxes of team members from the source to the target tenant before moving Teams.
The group mailbox belonging to a team stores compliance records for channel conversations in that team. As MigrationWiz moves conversations from the source team to the target, Office 365 creates new compliance records in the group mailbox in the target tenant. Because of conversation concatenation, the compliance records are different than those in the original tenant, but all the data should still be there.
Personal and Group Chats
MigrationWiz for Teams does not move personal or group chat messages from one tenant to another. The process only handles channel conversations. The current iteration of the Graph API doesn’t allow these messages to be moved.
More than Conversations
Although conversations are important to Teams, Teams is much more than conversations. MigrationWiz can move some of the information belonging to a team, like the SharePoint team site (including the Wiki and shared OneNote notebook), but it cannot recreate tabs for first-party applications like Planner and OneNote or third-party apps, bots, or connectors.
I think it’s acceptable to leave third-party apps alone because the target tenant might not have licensed access to these apps, but I’d expect access to be preserved in SharePoint tabs and other Microsoft apps that you can reasonably expect to be present in the target tenant.
Given this point, good planning, preparation, and post-migration follow-up will take care of fleshing out the migrated teams with their full set of apps.
Few migrations are straightforward. BitTitan is the first major player to support tenant-to-tenant migration for Teams conversations and settings. As discussed above, there are other things to move apart from conversations before we can say that moving Teams between tenants is a full-fidelity exercise. But we’re in early days for this kind of migration project and the tools will improve and evolve over time. At least, I hope that they will!