Back to Zulip

Import from Slack

starlight_help/src/content/docs/import-from-slack.mdx

12.09.6 KB
Original Source

import {Steps, TabItem, Tabs} from "@astrojs/starlight/components";

import FlattenedSteps from "../../components/FlattenedSteps.astro"; import ZulipNote from "../../components/ZulipNote.astro"; import ZulipTip from "../../components/ZulipTip.astro"; import ImportGetYourOrganizationStarted from "../include/_ImportGetYourOrganizationStarted.mdx"; import ImportHowUsersWillLogIn from "../include/_ImportHowUsersWillLogIn.mdx"; import ImportIntoASelfHostedServerDescription from "../include/_ImportIntoASelfHostedServerDescription.mdx"; import ImportIntoASelfHostedServerInstructions from "../include/_ImportIntoASelfHostedServerInstructions.mdx"; import ImportIntoAZulipCloudOrganization from "../include/_ImportIntoAZulipCloudOrganization.mdx"; import ImportSelfHostedServerTips from "../include/_ImportSelfHostedServerTips.mdx"; import ImportWorkspaceToZulip from "../include/_ImportWorkspaceToZulip.mdx"; import ImportYourDataIntoZulip from "../include/_ImportYourDataIntoZulip.mdx"; import ImportZulipCloudOrganizationWarning from "../include/_ImportZulipCloudOrganizationWarning.mdx"; import ViewImportedUsers from "../include/_ViewImportedUsers.mdx";

<ImportWorkspaceToZulip />

Import process overview

To import your Slack organization into Zulip, you will need to take the following steps, which are described in more detail below:

<Steps> 1. [Export your Slack data](#export-your-slack-data). 1. [Import your Slack data into Zulip](#import-your-data-into-zulip). 1. [Clean up](#clean-up-after-the-slack-export) after the Slack export. 1. [Decide how users will log in](#decide-how-users-will-log-in)! </Steps>

Be sure to check out the guide on moving from Slack for a walkthrough of the transition process.

Import your organization from Slack into Zulip

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

<Steps> 1. 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. 1. [Export your Slack message history](https://my.slack.com/services/export). You should be able to download a `zip` file with your data a few minutes after you start the export process. </Steps>

Export user data and custom emoji

<Steps> 1. 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. 1. [Create a new Slack app](https://api.slack.com/apps). Choose the **From scratch** creation option. 1. [Create a bot user](https://docs.slack.dev/app-management/quickstart-app-settings/#creating), following the instructions to add the following OAuth scopes to your bot: * `emoji:read` * `users:read` * `users:read.email` * `team:read` 1. In **OAuth & Permissions**, under **OAuth Tokens**, click **Install to Workspace**. Grant the app permission to access your workspace by clicking **Allow** when prompted. 1. 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. </Steps> <ZulipNote> You may also come across a token starting with `xoxe-`. This token cannot be used for the Slack export process. </ZulipNote>

Import your data into Zulip

<ImportYourDataIntoZulip /> <Tabs> <TabItem label="Zulip Cloud (self-serve)"> <Steps> 1. If you've already created an organization at the subdomain you plan to use, email [[email protected]](mailto:[email protected]) to get it deleted, so that you can start the import process. 1. Fill out the information to [create a new Zulip Cloud organization](https://zulip.com/new/). Under **Import chat history?**, select **Import from Slack**. 1. Click **Complete registration** in the confirmation email you received. 1. Enter your Slack **Bot User OAuth Token**, which will be a long string of numbers and characters starting with `xoxb-`, and click **Submit**. 1. Click **Start upload** to upload the **exported data** `.zip` file from your Slack workspace. 1. Configure **Who will be allowed to see other users' email addresses?**, and click **Start import**. The import may take some time to complete. 1. 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 Zulip account. 1. Set a password for your Zulip account, and click **Submit**. </Steps> </TabItem> <TabItem label="Zulip Cloud (via support)"> <ImportIntoAZulipCloudOrganization />
<Steps>
  1. Your Slack **Bot User OAuth Token**, which will be a long
     string of numbers and characters starting with `xoxb-`.
</Steps>

<ImportZulipCloudOrganizationWarning />
</TabItem> <TabItem label="Self-hosted"> <ImportIntoASelfHostedServerDescription />
<FlattenedSteps>
  <ImportIntoASelfHostedServerInstructions />

  1. To import into an organization hosted on the root domain
     (`EXTERNAL_HOST`) of the Zulip installation, run the following
     commands, replacing `<token>` with your Slack **Bot User OAuth Token**.
     <ImportSelfHostedServerTips />
     ```bash "<token>"
     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-server
     ```
     Alternatively, to import into a custom subdomain, run:
     ```bash "<token>" "<subdomain>"
     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
     ```
  1. Follow [step 4](https://zulip.readthedocs.io/en/stable/production/install.html#step-4-configure-and-use)
     of the guide for [installing a new Zulip
     server](https://zulip.readthedocs.io/en/stable/production/install.html).
</FlattenedSteps>
</TabItem> </Tabs>

Import details

Whether you are using Zulip Cloud or self-hosting Zulip, here are few notes to keep in mind about the import process:

Clean up after the Slack export

Once your organization has been successfully imported in to Zulip, 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

<ImportHowUsersWillLogIn> ### Allow users to log in with non-password authentication

Send password reset emails to all users

Manual password resets

</ImportHowUsersWillLogIn> <ViewImportedUsers />

Onboarding

To prepare your organization for transitioning to Zulip, follow the guide on moving from Slack.