OK, so technically the API documentation says import “third-party” platform messages to Microsoft Teams, but we all know Slack would be the primary use case.
This actually got posted to Microsoft’s documentation a while ago, but they just promoted it with a blog post on the graph blog which is interesting.
This beta API allows import from third-party platforms into a Teams channel, which was previously not possible. This is for team/channel chat, not private chat.
The Import Process
Before you begin you need to export the data from the other platform, format it appropriately and decide how you want to map it to Microsoft Teams teams and channels.
You will need the Azure AD Application permission of Teamwork.Migrate.All.
You must place the new team and channel(s) in a special “migration mode”, a special state that bars users from most activities within the team until the migration process is complete.
This allows you to post messages with a historical timestamp and attribute them to real users.
Once this is complete you set the team and channel to completeMigration status. When this is done:
- You cannot import further messages into the team.
- Members can be added to the Team once the team
If you need to make a correction to the migration results, you need to delete the team and repeat the steps to create the team and channel and re-migrate the messages. So this is a one-time activity.
You can import messages from users who are not in Teams. NOTE: Messages imported for users not present in the tenant will not be searchable in the Teams client or compliance portals during Public Preview.
My colleague Tom Morgan has a detailed breakdown of the API and process on his blog here
API scope and abilities
The API scope is as follows:
Note the API is currently in beta, so it’s not officially supported in production use.
This has been a request on uservoice since 2016
Microsoft Documentation: Import third-party platform messages to Teams using Microsoft Graph