Import from Slack

This tool has been used to import Slack 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.

Note: You can only import a Slack workspace as a new Zulip
organization. In particular, you cannot use this tool to import from Slack
into an existing Zulip organization.

Import from Slack

First, export your data from Slack.

Note: Only Slack owners and admins can export data from Slack.
See Slack's
guide to data exports
for more information.

Get a Slack API token.

It will be a long string starting with xoxb-. It is required to
fetch data that Slack doesn't include in their data exports, like
email addresses.

This could take several minutes to run, depending on how much data
you're importing. The server stop/restart is only necessary when
importing on a server with minimal RAM, where an OOM kill might
otherwise occur.

Import options

The commands above create an imported organization on the root domain
(EXTERNAL_HOST) of the Zulip installation. You can also import into a
custom subdomain, e.g. if you already have an existing organization on the
root domain. Replace the last line above with the following, after replacing
<subdomain> with the desired subdomain.

./manage.py import <subdomain> converted_slack_data

Logging in

Once the import completes, all your users will have accounts in your
new Zulip organization, but those accounts won't have passwords yet
(since for very good security reasons, passwords are not exported).
Your users will need to either authenticate using something like
Google auth, or start by resetting their passwords.

You can use the ./manage.py send_password_reset_email command to
send password reset emails to your users. We
recommend starting with sending one to yourself for testing: