Table of Contents
Introduction:
Altosio offers a great tool to migrate data stored in the cloud from and to several vendors. It allows you to seamlessly switch from Slack to Microsoft Teams, with a guarantee of no data loss. The migration software runs in the cloud, so you do not have to worry about installing anything. Everything is accessible from your web browser at https://app.altosio.com. The migration tool is reliable, secure and lightning fast.
What is migrated in a Slack to Teams migration scenario?
- Public channels are migrated into a Microsoft Team, a Team channel, or a private Team channel.
- Private channels
- Channel permissions (owners and members).
- Chat messages and reply threads.
- User and Group Mentions.
- Links in attachments.
- HTML content.
- Attachments and their metadata.
- Channel members mentions.
- Gifs, emojis, and formatted code snippets.
What to consider?
Like any other migration project, it is impossible to get the target to look exactly like the source. This is due to some API limitations that either don’t allow us to read the source, or prevent us to push the data in the destination. Some of the limitations are described in the list below:
- Chat conversations are migrated, but due to the API throttling policies, it is not possible to rehydrate them in the chat window. Altosio migrates the chats in a shape of an HTML file that will be added to an HTML tab of the Teams channel. Emojis reactions are lost during this process.
Security
The Altosio software runs in the Cloud and is hosted in Microsoft Azure data centers located in the Netherlands. Altosio is able to provide you with a static IP address from which the migration will run in order to secure your environments with Firewall access accordingly. Please reach out to support@altosio.com to get it. You can also visit our security statement here.
It is also worth noting that the Altosio tool does not store anything internally. It reads data in chunks and pushes them in real time in the target. No data is cached or stored in the hard drive of the servers running the migration. Altosio does however store the unique Ids of files and chats that are migrated. This allows the customer to rerun the migration without duplicating data.
Altosio’s migration tool does not edit the source environment in any way. It copies the data to the target without altering it. Altosio needs a read-only access to the source.
Requirements
To access Slack, Altosio needs:
- A programmatic consent to access your Slack Workspace. This token acts on behalf of the user that grants consent, and will only allow us to see the Slack channels the user is part of.
To access Microsoft Teams, Altosio needs:
- An admin consent to use the Altosio Azure Active Directory Application from your tenant. This requires a Global Admin account to grant the admin consent.
- Your tenant’s domain. This could be either your commercial domain “company.com” or your M365 vanity domain “tenant.onmicrosoft.com”.
- A migration account (email and password). This account does not need any admin privileges or roles. It simply needs a valid license that allows it to access Microsoft Teams. (an E3 license for example). We recommend that you create a dedicated user for your migration (migration@company.com for example) that can be deleted after the migration. This account needs to bypass MFA, ADFS and custom Azure security defaults.
Licensing
Each Slack channel migration consumes a Standard Teams migration license. The license is automatically allocated to the board and will get burnt as soon as the Team gets created in the target.
The license is channel-based and does not depend on the number of users, messages or files.
The migration supports delta passes, which means that you restart the migration several times and it would still consume the same license that was originally assigned to it. Licenses are not refundable upon purchase.
For any further inquiries related to licensing, please reach out to sales@altosio.com
Configuration
- Sign up and create your first project
First off, please create an account under https://app.altosio.com, validate it through the validation email and then login.
Once you login, you will land on a home page where you will have to create your project. Click on New Project, give it a meaningful name and then hit create.
Click on the project name to open it.
2. Create your connectors
The next step in the process is to create your connectors. Since this guide is about a Slack to Microsoft Teams migration, we will create two Teams connectors, one for the source and another one for the destination.
a. Create your Slack source connector:
Under the connectors page, click on New Connector, choose Source, and then Slack.
Provide a meaningful name to your connector, then click on Connect to Slack. This will open a new tab in your browser.
Click on allow, close the tab and go back to Altosio to save your connector.
The creation of a source connectors automatically triggers a discovery job of your Slack Workspace. This job will pull the list of public and private channels your users has access to. If you can’t see a channel that you would like to migrate, please ask the channel owner to add you as a member of the channel in Slack and then run the discovery job again.
b. Create your Teams target connector
Click again on New connector, select target and Teams.
Provide the domain of your tenant. This can be either your commercial domain (mygreatcompany.com) or your Microsoft technical domain (mycompany.onmicrosoft.com).
Click on Grant Admin Consent. This will redirect you to a new page where you will have to log in with your Global Administrator credentials and accept to install the Azure Active Directory Application on your tenant.
Please note that this application should be removed from your tenant after migration.
Please note that you can decline installing this application on your tenant. Instead, you can create your own Azure AD application, and provide the Application Id and Secret to Altosio. The tool will then use your own application credentials to connect to your M365 tenant.
Next on, you should provide an email and password of the migration account. This should be a licensed account with access to MS Teams application. This account does not have to have any admin privileges. (Standard user with no access to any admin portal).
If your connectors are correctly configured, they should pass the Test Connection and show a green tick as shown below. This means that you are ready for the next step. If your Test Connection is failing, click on the red sign to see the issue and fix it.
Pre-migration assessment
Before running the migration, Altosio provides you with a way to assess your migration. The assessment task allows you to identify which Slack Channels will take longer to migrate based on the amount of data it has in the source.
For more information, please reach out to support@altosio.com
Migration
- User mappings
Before running the migration, it is very important to visit the Mapping table section of your project. In this section, you will find entries for your source users already prefilled. You need to add the equivalent email addresses of these target users. If the email addresses are the same between the source and destination, you can leave the mapping table empty. Altosio will automatically map the users based on the source email addresses.
The mapping table allows Altosio to correctly map the users in the target. It allows a correct migration of the permissions as well as the items metadata.
With an empty mapping table, the migration would still run, but the permissions and metadata will not be migrated correctly.
2. Understand the target fields
In a Slack to Teams migration, you can configure where you want to migrate. There are 3 options available for you:
- Migrate a Slack Channel to Microsoft Teams: This is the default option. It migrates your Slack Channel into the default General channel of Microsoft Teams.
- Migrate Slack Channel to a specific Microsoft Teams Public Channel: This option migrates your Slack Channel into a specific Teams channel with the name of your choice.
- Migrate Slack Channel to a specific Microsoft Teams Private Channel: This option migrates your Slack Channel into a specific Private Teams channel with the name of your choice.
If the target Team exists in the destination, Altosio will migrate the data into the existing Group/Team. If the team does not exist, Altosio will create a brand new based on the Target Email Nickname you provide. This value is by default the same value of the source, but you are free to edit it.
Similarly, if you choose to migrate into a Microsoft Teams Channel (public or private), if a channel with the specified name already exists, the data will be migrated into it. Otherwise, the channel will be created by Altosio.
On the left-side menu, click on Groups and Teams to visualize the list of your Teams. Clicking on Details on one entry will prompt a window like the one below.
If you would like to migrate into an existing Team, you need to provide the correct Mail Nickname of your target group.
In the Destination field, choose among the options stated above, provide the necessary information for your destination Team and click on Update Details to save your changes.
Once everything is configured, please get back to your Slack and Teams list page, select the Channels you want to migrate and then click start.
This action should prompt a selection of target connector. Select your target connector and click migrate.
The migration of your Slack channel will remain in a Queued state until it finds a spot on the platform. Once the migration starts, it will show in a “Working” status.
You can click on logs tab to monitor the progress of your migration.
If the migration succeeds, the status will turn into Success. Otherwise, if there is an issue with the configuration, the migration will show an Error status. Please click on details to check the logs to see the reason behind the error. Eventually, please reach out to our support team at support@altosio.com to seek help if needed.
Post-migration
Once your boards are fully migrated, it is important to delete the migration account from your tenant and remove the Microsoft Entra ID application.
To remove the application, please follow the steps detailed below:
- Go to your Azure portal via this link https://portal.azure.com
- Under Azure Services, click on Microsoft Entra ID
4. Among the applications, look for the Altosio application and click on it to open it.
5. On the left hand-side menu, click on Properties, then delete and confirm the deletion.
It is also important to revoke Altosio’s access from your Slack Workspace. To do so, on the left-hand side menu of your Slack app, navigate to Apps, Manage, Browse Apps. You should find the Altosio application installed, as shown in the screenshot below:
Click on Altosio, then Configuration. A new tab should open. Scroll down and under ‘Your authorizations’, click on Revoke.
The access to Slack should be successfully revoked.
Migration Results
Once your migration is a success, you can navigate to the destination to check the results.
Below is an example of what to expect in the destination compared to the source.
- Regular messages, reply messages, screenshots, PDF attachment, and bullet points in Slack.
- Screenshot attachment, formatted messages, @Mention.