Workspaces on paid plans can import a Mattermost bulk export and rebuild channels and message history in HansaChat — with original timestamps, threads, reactions, and markdown formatting.
What is imported
- Public and private channels.
- Posts with their original timestamps.
- Thread replies. Replies whose root is missing from the export become normal messages.
- Emoji reactions.
- Markdown formatting: bold, italic, inline code, code blocks, and links.
- Edits are marked when a post was changed after it was written.
- Team members: accounts that match an existing member by email are linked; everyone else is imported as an inactive placeholder profile with no password. Inviting that person later by their email address links the history to their new account.
What is not imported
- Direct messages and group messages.
- File attachments. Message text is kept; attachment references remain as plain text.
- Slash-command payloads and webhooks posted through integrations are imported as plain messages.
Prepare the archive
HansaChat imports the bulk export produced by Mattermost's bulk-export tool. This is a newline-delimited JSON file (.ndjson) whose first line starts with "type": "version". You can upload it as-is, gzipped, or packed into a ZIP.
Mind the format: the archive that mmctl export produces is a different, Mattermost-to-Mattermost format that HansaChat does not import. The bulk-export path on your Mattermost server or the bulk data generator documentation describe how to create the right file.
Run the import
- Open the workspace dashboard on the HansaChat website.
- Find your workspace and choose Import from Slack.
- Select the NDJSON file (or its ZIP/gzip archive) and choose Import archive.

Each workspace can start one import per day. The import runs in the background; the page shows live progress and you receive an email when the import has finished.
How your history lands
- Your existing #general channel is reused and the imported history is appended to it.
- Channels are recreated with their display name. If a channel with the same name already exists, the imported one is created with an "-imported" suffix. Exports that contain several teams get a team-name prefix on channel names to avoid collisions.
- Imported history appears when you reload the workspace. Nothing is pushed to open sessions while the import runs.
- Members who were not linked to an existing account appear as inactive profiles. They never receive email and cannot log in unless you invite them.

Data protection note
The export contains personal data of your Mattermost members, such as names, email addresses, and message content. Create and download the export only when you are ready to import, and delete your local copy afterwards. HansaChat deletes the uploaded archive as soon as the import has finished.