How to migrate from Slack to Zulip
Chat message history is the hardest thing to migrate between platforms — most teams migrate chat "going forward" and leave the old history as read-only reference.
- 1
Request a data export from Slack
On paid plans, Slack usually lets you export the full history (messages, channels, files) as an administrative export, typically in JSON format.
- 2
Use Zulip's import tool
Tools like Mattermost or Rocket.Chat include command-line utilities to import Slack exports directly, preserving channels and threads where possible.
- 3
Recreate integrations and bots
Webhooks, bots and connected apps don't migrate — you'll need to reconfigure every integration (CI/CD, alerts, etc.) to point at Zulip.
- 4
Announce the switch with overlap
Keep both platforms active for 1-2 weeks and pin a message in the old channels pointing to the new space, to minimize lost messages during the transition.
Before cancelling Slack
Before cancelling Slack, also download shared files separately — history exports don't always include attachments at full resolution.
Ready to deploy Zulip?
Full profile with license, tech stack and ready-to-copy docker-compose.
View Zulip's profileThese steps are a general guideline — the exact export menu can vary depending on Slack's plan and version.