migration

Migrer de Slack vers Mattermost

Licence et conditions

Slack
Un produit fermé de Salesforce.
Mattermost
Other, Open core
Type de remplacement
Remplacement complet Channels, threads and calls on your own server, with an importer for Slack exports.

Cette page est rédigée en anglais.

Compatibility

Mattermost imports a Slack export: users, public and private channels, direct messages, group messages, threads, reactions and file attachments. Archived channels come in archived, and deactivated or deleted users come in as deactivated accounts with their memberships. Group DMs of up to 8 members become group messages; larger ones become private channels. An Enterprise Grid export maps each Slack workspace to a Mattermost team.

The official guide is marked as available on the Entry, Professional, Enterprise and Enterprise Advanced plans.

Before you switch

  1. Export from Slack with Slack’s own tools. A public channels export works on every Slack plan; private channels and DMs need the “all channels and conversations” export, which Slack offers on Business+ (on application) and Enterprise Grid. Do not unzip and rezip the archive.
  2. Prepare a fresh server if you can, and never import over an existing team. Create the destination team first (lowercase, hyphenated name) and enable “Allow any user with an account on this server to join this team”. Raise TeamSettings.MaxChannelsPerTeam, TeamSettings.MaxUsersPerTeam and FileSettings.MaxFileSize above what the export needs, enable email sign-up and sign-in, and turn Elasticsearch indexing off during the import.
  3. Plan for at least three times the export size in storage. mmetl runs on Linux and macOS only; Windows is not supported and WSL is discouraged.
  4. For Enterprise Grid, split the archive first with mmetl grid-transform -f slackexport.zip.
  5. Run mmetl transform slack --team my-team --file slack_export.zip --output mattermost_import.jsonl --bot-owner admin --dry-run, fix what it reports, then run it again without --dry-run. The output is a JSONL file and a data/ attachments directory.
  6. Zip both, check the package with mmctl import validate, then load it with mmctl import upload and mmctl import process. For large packages, copy the zip to the server and run mmctl import process --bypass-upload ./mattermost-bulk-import.zip --local.
  7. Check the job with mmctl import job list and mmctl import job show <JOB_ID> --json, then spot-check channels, DMs and attachments.

The import is idempotent, so the guide recommends starting with a short time window or --skip-attachments and importing several smaller exports one after the other.

Pitfalls

Guide officiel

Guide de migration de Mattermost ↗

Relue le 2026-10-06.

Sources

Autres alternatives à Slack →