Kristi Webb is a Senior Consultant at ThreeWill. She has over 18 years of software development experience working on software solutions and integrations for enterprise and product solutions. Her passion is applying technology solutions to solve business problems and improve efficiency.
As companies continue to consolidate their collaboration platforms, ThreeWill is hearing from more organizations looking for help to migrate from Slack to Microsoft Teams. We recently migrated several Slack workspaces to Teams and wanted to share what we learned about planning out a Slacks to Teams migration.
Rationalize your Content
- During any migration, it is important to assess the content you have in the source system and decide what is worth keeping. Even if you decide some content is no longer needed to operate your business, some older content may need to be archived for legal eDiscovery and/or compliance or audit purposes. Selecting which Slack channels will be migrated and/or archived should be easy to control. More specifically, you should be able to select specific Slack channels to migrate and skip other Slack channels that you do not wish to migrate. Of course, you may want to migrate all your Slack channels, but you should have the flexibility to easily select what happens to each Slack channel in your Workspace(s).
Map your Content
- Once you know which content you want to migrate, you must decide where it will reside in the new destination/target platform. When deciding locations for all the containers and different types of content, you must consider how that content will be available and used in the new target platform. You want to organize the target content in a way that will best empower your users to complete their work most efficiently. Destination mapping should be easily configurable. For example, you should have the flexibility to either migrate the Slack channels all to the same Microsoft Team or to different Microsoft Teams. You should be able to easily control the Slack channel mapping to the target destinations in Microsoft Teams. This also includes control over the Team names.
Map Content Ownership
- You will need to determine who will own the content once it is migrated over to the new target system. Of course, in the case of Microsoft Teams, this will be the Team and/or Channel owners. This may be a temporary IT owner that later gets replaced with the actual business owner, but the business owner may get access right away. For example, any migrated archive content may only have IT owners if business users should no longer have access to archived content. The easiest solution is to preserve the content ownership and have the same channel owner in Teams as the original Slack channel. This works great when Slack Users map to an equivalent Azure AD User in Microsoft Teams, but you should have the ability to provide a default owner for cases where the Slack owner is not available in Azure AD, such as due to company turnover or attrition.
- For the migrated conversation post content, the author should also be preserved in the migration if the Slack comment owner’s email address maps to a user in Azure AD/Microsoft Teams. If the Slack User does not map to an Azure AD user in Microsoft Teams, you should have the ability to designate a default target account that will own the conservations in Teams when the Slack owner does not map to an existing Microsoft Teams user. This default target account should have full control of the conversations after migration. Content author names should also be preserved, even if the Slack user does not exist in Microsoft Teams/Azure AD. The migration should preserve the authorship by noting the original author’s name as text, as well as the created time of the original Slack comment. After the migration, you want to ensure the Teams users can see who created the content originally and will know when it was originally created.
Map your Users
- The users also must be mapped between the source and target systems. Of course, there are exceptions when both systems use the same user identity system and the unique user identifiers used internally in each system are the same. For cases where the users do need to be mapped, the user mapping should be flexible. From a data integrity standpoint, it is critical that a user in the source system is matched to the correct user in the target system. This can be mandatory for legal and compliance reasons as well. Sometimes the same user will have different usernames/email addresses in the 2 systems that have to map. A common example is having different formats of the username/email address, as well as having several different email domains for the same user across both systems
- Ideally, a User Gap Analysis should be completed before migration and it should determine if any missing Destination users will need to be pre-provisioned in Azure AD or not. During our tests we assumed all users were already provisioned in the target tenant; however, ThreeWill could assist in adding approved users to Azure AD before migration begins. Our testing also mapped users by using the Slack user email address to map to the Azure AD username. We are working toward more advanced user mapping capabilities, including mapping Slack usernames to Azure AD users using a mapping file that accounts for username domain changes.
Plan to migrate to New Teams
- For migrating to a tenant with existing Microsoft Teams, it is best to create new Teams rather than use existing ones so you avoid issues of duplicate channel names and duplicate file names within the channels. This also simplifies the migration process and keeps the migration more efficient. You also avoid having to worry about sorting out owner/member/guest list conflicts when migration places content in a brand new Team. In addition, UAT will be easier for the testers since they do not have to sort out previously existing content versus new Slack content within the Team. During our migration process, we provisioned the Microsoft Team(s) and channels automatically. We recommend this approach since it reduces the burden on your internal IT team and ensures all Teams are created per the destination mapping plan. Of course, there needs to be an assessment before migration begins to check for duplicate Teams names to avoid naming conflicts.
Plan for User Access/Permissioning in the Teams and Channels
- How Channel Permissions are applied should be flexible. The timing of adding business users to the new Teams can vary from project to project. Of course, the Slack Export does include all the Slack channel members and they can automatically be added as Team members when the Slack user maps to an equivalent Azure AD user. You also must decide if you want member permissions applied automatically as part of the migration or not. We have had customers on previous migration projects to Teams want to control the timing of when the channel members are added so they can ensure user communications go out during typical business hours or according to a specific rollout schedule, for example. We have also had customers that want the Teams owners to manually control which members get added, although this is less common.
If you are interested in migrating your Slack content to Microsoft Teams, ThreeWill would love to help you with the migration. Once we have the details of your Slack instance, we can work together to plan out the mapping to Microsoft Teams. Our extensive migration experience will help ensure a successful transformation to Microsoft Teams.