Preview of Teams Migration API Has Slack in Its Cross-Hairs

Preview Migration API Documentation Available

ISVs have known about the preview version of the Graph-based Teams Migration API for some months. It’s a replacement for the beta migration API used by ISVs like Quadrotech, AvePoint, and BitTitan in their tenant-to-tenant migration products. These products have no issue moving email and documents, but the experience moving Teams data between tenants has been “challenging.”

Yesterday, MVP Tom Morgan published a review of the preview of the new API based on some Microsoft documentation. The API is very much a preview and not intended for production. Nevertheless, the documentation reveals that its intended purpose is to migrate data from a “third-party chat system” (like Slack) to Teams rather than between Office 365 tenants.

What the Migration API Does

The API does nothing to extract information from the source system or convert it into a format suitable for ingestion to Teams. What it does is:

  • Create new Teams to receive the ingested data. Interestingly, these Teams are marked as in “migration mode.” Microsoft says that this is “a special state that bars users from most activities within the team until the migration process is complete.”
  • Create channels in the target migration teams.
  • Import messages into the channels. The API is currently throttled at a low rate that’s suitable for testing but not for a full-blown migration. Migration is a one-shot effort. If ingestion fails in the middle of processing, the team must be deleted, recreated, and the migration restarted.
  • Complete the migration and release the teams for normal use. Once a team is placed into normal mode, no further data can be migrated to the team.
  • Add members to the teams. This can only happen after the migration is complete.

API Restrictions

All looks straightforward and what you’d expect from a migration API, but as it’s a preview many restrictions exist. The biggest is that messages can only be imported into public channels and there’s no way to import messages as personal chats or into private channels. Other things which are missing include support for emojis, reactions, at mentions, and some formatted text like quotes and code snippets. Other omissions like no support for cross-channel posts are probably not important in a migration context.

Microsoft’s Focus on Growing Teams

Microsoft is putting its effort into migrating competitor platforms to Teams. That’s understandable from their perspective as they want to grow the number of Teams users and weaken competitors. What’s not understandable is the lack of progress in an API for tenant to tenant migrations. The longer this lack exists, the more Teams data is accrued in tenants and the more data needs to be moved when companies owning Office 365 tenants merge, split, or are acquired.

No Joy for Teams Backups

The lack of a backup and restore API for Teams that covers team structure and content is also regrettable. Because Teams is so interconnected with the rest of the Microsoft 365 ecosystem, it is a difficult application to backup. But that’s no reason for Microsoft to ignore the need.


The Office 365 for IT Pros eBook is all about administration and management of Office 365 tenants and the Microsoft 365 ecosystem. We don’t cover migration of Teams in any depth, but we think it’s an important topic that’s worth mentioning here.

2 Replies to “Preview of Teams Migration API Has Slack in Its Cross-Hairs”

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.