Import from Slack
You can import your current workspace into a LaboChat organization. It’s a great way to preserve your workspace history when you migrate to LaboChat, and to make the transition easy for the members of your organization.
The import will include your organization’s:
- Name and Logo
- Message history, including attachments and emoji reactions
- Users, including names, emails, roles, avatars, time zones, and custom profile fields
- Channels, including all user subscriptions
- Custom emoji
Import process overview
Section titled “Import process overview”To import your Slack organization into LaboChat, you will need to take the following steps, which are described in more detail below:
- Export your Slack data.
- Import your Slack data into LaboChat.
- Clean up after the Slack export.
- Decide how users will log in!
Be sure to check out the guide on moving from Slack for a walkthrough of the transition process.
Import your organization from Slack into LaboChat
Section titled “Import your organization from Slack into LaboChat”Export your Slack data
Section titled “Export your Slack data”Slack’s data export service allows you to export all public channel messages, including older messages that may no longer be searchable under your Slack plan.
Unfortunately, Slack only allows workspaces that are on the Business+ or Enterprise Grid plans to export private channels and direct messages. Slack’s support has confirmed this policy as of August 2022.
Owners of Business+ or Enterprise Grid workspaces can request special access in order to export direct message data.
Export message history
Section titled “Export message history”- Make sure that you are an owner or admin of your Slack workspace. If you are one, the Slack web application will display that in your profile, in a banner covering the bottom of your avatar.
- Export your Slack message history.
You should be able to download a
zipfile with your data a few minutes after you start the export process.
Export user data and custom emoji
Section titled “Export user data and custom emoji”- Make sure that you are an owner or admin of your Slack workspace. If you are one, the Slack web application will display that in your profile, in a banner covering the bottom of your avatar.
- Create a new Slack app. Choose the From scratch creation option.
- Create a
bot user,
following the instructions to add the following OAuth scopes to your bot:
emoji:readusers:readusers:read.emailteam:read
- In OAuth & Permissions, under OAuth Tokens, click Install to Workspace. Grant the app permission to access your workspace by clicking Allow when prompted.
- You will immediately see a Bot User OAuth Token, which is a long
string of numbers and characters starting with
xoxb-. Copy this token. It grants access to download user and emoji data from your Slack workspace.
Import your data into LaboChat
Section titled “Import your data into LaboChat”To start using LaboChat, you will need to choose between LaboChat Cloud and self-hosting LaboChat. For a simple managed solution, with no setup or maintenance overhead, you can sign up for LaboChat Cloud with just a few clicks. Alternatively, you can self-host your LaboChat organization. See here to learn more.
- If you’ve already created an organization at the subdomain you plan to use, email support@zulip.com to get it deleted, so that you can start the import process.
- Fill out the information to create a new LaboChat Cloud organization. Under Import chat history?, select Import from Slack.
- Click Complete registration in the confirmation email you received.
- Enter your Slack Bot User OAuth Token, which will be a long
string of numbers and characters starting with
xoxb-, and click Submit. - Click Start upload to upload the exported data
.zipfile from your Slack workspace. - Configure Who will be allowed to see other users’ email addresses?, and click Start import. The import may take some time to complete.
- If you’re using a different registration email from your Slack account, select your Slack account from the dropdown. If you don’t have an account in the imported workspace, you can create a new LaboChat account.
- Set a password for your LaboChat account, and click Submit.
If you are using LaboChat Cloud, we’ll take it from here! Please email support@zulip.com with the following information:
- The subdomain you would like to use for your organization. Your LaboChat chat will
be hosted at
<subdomain>.zulipchat.com. - The exported data file containing your workspace message history export.
- Your Slack Bot User OAuth Token, which will be a long
string of numbers and characters starting with
xoxb-.
Import into a self-hosted LaboChat server
LaboChat’s import tools are robust, and have been used to import workspaces with 10,000 members and millions of messages. If you’re planning on doing an import much larger than that, or run into performance issues when importing, contact us for help.
- Follow steps 1 and 2 of the guide for installing a new LaboChat server.
- Copy the exported data file containing your workspace message
history export onto your LaboChat server, and put it in
/tmp/. - Log in to a shell on your LaboChat server as the
zulipuser. - To import into an organization hosted on the root domain
(
EXTERNAL_HOST) of the LaboChat installation, run the following commands, replacing<token>with your Slack Bot User OAuth Token.Alternatively, to import into a custom subdomain, run:Terminal window cd /home/zulip/deployments/current./scripts/stop-server./manage.py convert_slack_data /tmp/slack_data.zip --token <token> --output /tmp/converted_slack_data./manage.py import '' /tmp/converted_slack_data./scripts/start-serverTerminal window cd /home/zulip/deployments/current./scripts/stop-server./manage.py convert_slack_data /tmp/slack_data.zip --token <token> --output /tmp/converted_slack_data./manage.py import <subdomain> /tmp/converted_slack_data./scripts/start-server - Follow step 4 of the guide for installing a new LaboChat server.
Import details
Section titled “Import details”Whether you are using LaboChat Cloud or self-hosting LaboChat, here are few notes to keep in mind about the import process:
- Slack does not export workspace settings, so you will need to configure the settings for your LaboChat organization. This includes settings like email visibility, message editing permissions, and how users can join your organization.
- Slack does not export user settings, so users in your organization may want to customize their account settings.
- Slack’s user roles are mapped to LaboChat’s user
roles in the following way:
Slack role LaboChat role Workspace Primary Owner Owner Workspace Owner Owner Workspace Admin Administrator Member Member Single Channel Guest Guest Multi Channel Guest Guest Channel creator none - Slack threads are imported as topics with names that include snippets of the original message, such as “2023-05-30 Hi, can anyone reply if you’re o…”.
- Message edit history and
@user joined #channel_namemessages are not imported.
Clean up after the Slack export
Section titled “Clean up after the Slack export”Once your organization has been successfully imported in to LaboChat, you should delete the Slack app that you created in order to export your Slack data. This will prevent the OAuth token from being used to access your Slack workspace in the future.
Decide how users will log in
Section titled “Decide how users will log in”When user accounts are imported, users initially do not have passwords configured. There are a few options for how users can log in for the first time.
Allow users to log in with non-password authentication
When you create your organization, users will immediately be able to log in with authentication methods that do not require a password. LaboChat offers a variety of authentication methods, including Google, GitHub, GitLab, Apple, Discord, LDAP and SAML.
Send password reset emails to all users
You can send password reset emails to all users in your organization, which will allow them to set an initial password.
If you imported your organization into LaboChat Cloud, simply email support@zulip.com to request this.
Send password reset emails (self-hosted organization)
- To test the process, start by sending yourself a password reset email by
using the following command:
Terminal window ./manage.py send_password_reset_email -u username@example.com - When ready, send password reset emails to all users by
using the following command:
Terminal window ./manage.py send_password_reset_email -r '' --all-users
- To test the process, start by sending yourself a password reset email by
using the following command:
Terminal window ./manage.py send_password_reset_email -u username@example.com - When ready, send password reset emails to all users by
using the following command:
If you would like to only send emails to users who have not logged in yet, you can use the following variant instead:
Terminal window ./manage.py send_password_reset_email -r <subdomain> --all-usersTerminal window ./manage.py send_password_reset_email -r <subdomain> --all-users --only-never-logged-in
Manual password resets
Alternatively, users can reset their own passwords by following the instructions on your LaboChat organization’s login page.
View imported user accounts
You can see and manage a list of imported users who have not logged in yet to activate their LaboChat account.
- Navigate to the Users tab of the Organization settings menu.
- Select the Imported tab.
Onboarding
Section titled “Onboarding”To prepare your organization for transitioning to LaboChat, follow the guide on moving from Slack.