2018-04-05 01:15:22 +02:00
|
|
|
# Import data from Slack (beta)
|
2017-01-31 09:17:05 +01:00
|
|
|
|
2018-04-08 16:11:07 +02:00
|
|
|
Starting with Zulip 1.8, Zulip supports importing data from Slack,
|
|
|
|
including users, channels, messages, attachments, avatars, custom
|
|
|
|
emoji, and emoji reactions.
|
2017-01-31 09:17:05 +01:00
|
|
|
|
|
|
|
!!! warn ""
|
2018-04-05 01:15:22 +02:00
|
|
|
These instructions require shell access to the Zulip server. If you'd like
|
|
|
|
to import a Slack organization into the hosted zulipchat.com service,
|
|
|
|
contact support@zulipchat.com.
|
|
|
|
|
|
|
|
1. [Export your Slack data](https://my.slack.com/services/export). You will
|
|
|
|
receive a zip file `slack_data.zip`.
|
|
|
|
|
|
|
|
!!! warn ""
|
|
|
|
**Note:** Only Slack owners and admins can export data from Slack.
|
|
|
|
See Slack's
|
|
|
|
[guide to data exports](https://get.slack.help/hc/en-us/articles/201658943-Export-data-and-message-history)
|
|
|
|
for more information.
|
|
|
|
|
|
|
|
2. [Generate a Slack API token](https://api.slack.com/custom-integrations/legacy-tokens).
|
|
|
|
|
|
|
|
### Import into a new Zulip instance
|
|
|
|
|
|
|
|
Log in to your Zulip server as the `zulip` user. Run the following
|
|
|
|
commands, replacing `<token>` with the value generated above:
|
|
|
|
|
|
|
|
```
|
|
|
|
cd ~/zulip
|
2018-04-06 02:21:16 +02:00
|
|
|
./manage.py convert_slack_data slack_data.zip --token <token> --output converted_slack_data
|
|
|
|
./manage.py import --destroy-rebuild-database '' converted_slack_data
|
2018-04-05 01:15:22 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
!!! warn ""
|
|
|
|
**Warning:** This will destroy all existing data in your Zulip instance.
|
|
|
|
|
|
|
|
### Import into an existing Zulip instance
|
|
|
|
|
|
|
|
Log in to your Zulip server as the `zulip` user. Run the following
|
|
|
|
commands, replacing `<token>` with the value generated above, and
|
|
|
|
`<subdomain>` with the subdomain of the URL you'd like for your imported
|
|
|
|
Zulip organization.
|
|
|
|
|
|
|
|
```
|
|
|
|
cd ~/zulip
|
2018-04-06 02:21:16 +02:00
|
|
|
./manage.py convert_slack_data slack_data.zip --token <token> --output converted_slack_data
|
|
|
|
./manage.py import --import-into-nonempty <subdomain> converted_slack_data
|
2018-04-05 01:15:22 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
## Caveats
|
|
|
|
|
|
|
|
- Slack doesn't export private channels or direct messages unless you pay
|
|
|
|
for Slack Plus or contact Slack support. See
|
|
|
|
[Slack's documentation](https://get.slack.help/hc/en-us/articles/204897248-Guide-to-Slack-import-and-export-tools)
|
|
|
|
for more details.
|
|
|
|
|
|
|
|
- (Slack Plus import) Private channels and direct messages are currently
|
|
|
|
not imported. We expect to address this in a future revision.
|
|
|
|
|
|
|
|
- (Slack Plus import) Message edit history is currently not imported.
|
|
|
|
|
|
|
|
- Slack doesn't export user settings or organization settings, so
|
|
|
|
you'll need to configure these manually.
|
|
|
|
|
|
|
|
- User phone numbers and custom user profile fields are not currently
|
|
|
|
imported. We expect to address this in a future revision.
|
|
|
|
|
|
|
|
- Permission hierarchy:
|
|
|
|
Slack's `Primary owner`, `owner`, and `admin` are mapped to Zulip's `Organization admin`.
|
|
|
|
Slack's `Member`, `restricted`, and `ultra restricted` are mapped to regular Zulip users.
|
|
|
|
`Channel creators` have no special permissions in Zulip.
|
|
|
|
|
|
|
|
- The "joined #channel_name" messages are not imported.
|
|
|
|
|
|
|
|
- The import tool does not support simultaneous bold and italic
|
|
|
|
formatting of a word; we expect to address this in a future revision.
|