How to export your data from Slack

Slack's export depends on your plan: every plan exports public channels, while private channels and DMs need an approved Business+ or Enterprise application. Files arrive as links, not as files, so plan the file step separately.

On this page

How to export your data from Slack before your contract ends

If you are facing a renewal, a plan change or a decision to leave Slack, the first question is what Slack will actually hand over. Public channels can be exported on every plan, but private channels and direct messages need an approved Business+ or Enterprise application. Whatever the plan, the export carries messages and file links, not the files themselves. The limits that matter most are the 90-day file link window on Free and the permanent deletion of Free workspace content older than one year, which Slack states in its help center. Because Free content can disappear on a schedule, a Free workspace should be exported before the oldest history ages out, not at the end of the contract.

Each of these limits shapes a different step. The export roles come first: only workspace owners and admins, or members holding the Export admin role, can start an export, so confirm who holds that access before the renewal date. Next, check whether your workspace is on Business+ or Enterprise and whether an application for private channels and DMs is needed, since approval is not instant and should be planned into the timeline. Business+ workspaces with an approved application can schedule weekly or monthly exports, which helps when you need a rolling copy rather than a single snapshot. The Slack export help article sets out the current options and should be read against your plan before you file anything.

Plan for the file gap now. Because exports contain file links, confirm how long those links remain valid and whether your files are still reachable after the contract ends, and download the files you need while the workspace is still active. Ask Slack to confirm, in writing, which export options your plan and any approved application cover, and note that exports from Enterprise Grid organizations cannot be imported into other Slack workspaces. Whatever target you choose, test the export on a sample before cutover so you can see which messages, threads and attachments arrive in a readable form.

What each Slack plan can export and in which format

This table compares what each Slack plan lets you export, how the export is requested, the format it arrives in, and the limits that apply. Read it by first finding your plan, then checking whether your private channels and DMs need an approval step before you start.

Export itemPlan and accessFormat and approvalLimits
Public channel messagesEvery Slack plan, including FreeJSON export by a workspace owner, admin or member with the Export admin rolePublic channels only on every plan
Private channelsBusiness+ or Enterprise onlyRequires an approved application to Slack before exportNot available on Free or Pro without approval
Direct messagesBusiness+ or Enterprise onlyRequires an approved application to Slack before exportNot available on Free or Pro without approval
Scheduled exportsApproved Business+ workspacesWeekly or monthly scheduled exportsAvailable only after the approval step
File linksEvery Slack planExport holds file links, not the files themselvesFree workspaces get file links from the last 90 days only
Custom exports by member or conversationEnterprise onlySelected members or conversations exported on requestNot available on Business+
Who can run an exportOwners, admins or Export admin role membersConfirm the Export admin role exists in your workspace settingsOther members cannot start an export

What Slack does not export and how to work around each gap

A Slack export is a record of messages and file links, scoped by your plan and your workspace type. The cards below cover the gaps that most often surprise teams during a move, and what to capture before the window closes or the plan changes.

The files themselves

A Slack export contains messages and file links, not the attachments. Each link points to a file in Slack, so the file is only retrievable while Slack still hosts it and your account can open it. Before cutover, plan a separate download job that fetches files through those links and stores them in your own object store or file system, keyed to the message they belong to. Check whether the links still resolve for files shared by people who have since left the workspace, since those are the files most likely to be lost.

Free plan history beyond 90 days

Slack Free shows 90 days of message and file history, and Slack documents that content older than one year on Free workspaces is permanently deleted. Anything in that older band is outside what a standard export gives you, so the window closes on its own schedule. If you are on Free and plan to leave, capture the history you need now, while it still exists, and record the date you did it. Confirm with Slack what is retained for your specific workspace before you rely on it for a records decision.

Visible history after a downgrade

Plan changes can change what members see and what an export can reach. If your workspace moves from a paid plan to Free, history that was visible under the paid plan may fall into the Free window and become inaccessible to members. Run the full export while the workspace is still on its current plan, and do not wait until after a renewal lapses or a seat count drops. Keep the export archive, its date and the plan in force when it was created, so you can show what was captured and under which rules.

Private channels and direct messages

Every Slack plan can export public channels, but private channels and direct messages need an approved request on Business+ or Enterprise. Free and Pro workspaces cannot export these conversations at all, so a team on those plans must upgrade and be approved before the data can leave. Ask the workspace owner to start the application early, since approval is a step outside your control. Confirm which conversations the approved export will cover before you start the migration plan.

Enterprise Grid exports

Exports from Enterprise Grid organizations cannot be imported into another Slack workspace. If you are moving to a self-hosted platform, that restriction does not block the export itself, but any import tool that expects a standard Slack export may need the data prepared differently. Confirm with Slack exactly which export format and approval path your Grid organization supports, and ask whether the output can be used by the target platform's import tool before you commit to a timeline.

Custom exports by member or conversation

Custom exports filtered by member or conversation are an Enterprise-only capability. Teams on other plans get the standard workspace export, which covers what their plan allows and no more. If you need only one team's channels or a single person's conversations, check whether your plan includes custom exports before you plan around them. Otherwise, filter the full export on your side after receiving it, and log which filter you applied so the result can be reproduced.

The sequence for a complete Slack export

This sequence produces a verified, per-channel export of your Slack workspace data, with a record of what was exported, what was missed, and which file links still need to be retrieved. Work through it in order, because the plan and the export owner's role decide which later steps are open to you.

  1. Confirm the plan and the export owner's role

    Start by checking which Slack plan the workspace is on, since that decides what can be exported. Only workspace owners and admins, or members holding the Export admin role, can run exports. Public channel exports are available on every plan, while private channels and direct messages need Business+ or Enterprise. If the workspace is on Enterprise Grid, note that its exports cannot be imported into other Slack workspaces. Done means you have a written record of the plan, the names of the people who can run exports, and the scope you need.

  2. Apply for private channel and DM access

    If the workspace is on Business+ or Enterprise and you need private channels or direct messages, submit the export application through Slack before you plan anything else, because approval controls what the later steps can contain. Ask Slack to confirm in writing what the approval covers, including which conversations and date ranges. Done means you hold a written approval, or a written note that the scope is limited to public channels. Do not assume approval is quick, and confirm the timing with Slack.

  3. Run the public and private exports

    Run the workspace export from the admin settings for the approved scope. The export contains messages and file links, not the files themselves. Keep the public export and any approved private or DM export in separate folders so each can be verified on its own. Done means each export has finished and you can open its JSON output. Compare the channel count and the earliest and latest message dates for a sample of channels with what admins see in the Slack interface. Any gap should be written down before you continue.

  4. Schedule recurring exports if approved

    If Business+ approval includes scheduled exports, set up weekly or monthly runs so that content created after the first export is captured. Scheduling is not available to every plan, so confirm it in the export settings before you rely on it. Name each scheduled export in your own log and record the first run date. Done means the schedule appears in the admin settings and the first scheduled file arrives. Compare its channel list with the one-time export to confirm nothing dropped out.

  5. Download the export and linked files promptly

    Download the export files and then retrieve the files behind the links while those links still resolve. On Free workspaces, file links only cover the last 90 days, so older attachments may already be unavailable, and Slack states that content older than one year on Free is permanently deleted. Log every file that returns an error, with its channel and message timestamp, so you can decide later whether another source exists. Done means you hold the export archive and a list of files that could and could not be retrieved.

  6. Record checksums for each export archive

    Generate a SHA-256 checksum for each export archive and each downloaded file bundle, and store the values alongside the archives in a location with access control. Run the checksum again on a copy in your target environment before import to confirm nothing changed in transit. Done means you have a signed-off manifest listing each file, its size and its checksum, and the second check matches the first. This record supports later chain-of-custody and migration reviews.

  7. Inventory the export per channel

    Build a per-channel inventory with the channel name, type (public, private or DM), message count, earliest and latest message dates, and number of linked files. Check the totals against counts in Slack for a sample of channels, and record any differences with the reason you found. Include a list of integrations, bots, user groups and Slack Connect channels, because these do not carry through a standard export and need their own planning. Done means every channel in scope appears in the inventory, and each discrepancy has an owner and a note.

Export paths for Free, Business+ and Enterprise workspaces

On the Free plan, any workspace owner or admin can export messages and file links from public channels. The export gives you a record of conversation text and links, but not the files themselves. Free workspaces also have a file link window: the export only includes file links from the last 90 days. Slack states that content on Free workspaces older than one year is permanently deleted, so the time to act is before that content ages out, not after you decide to leave.

  • Export public channels first: Run the workspace export from the admin settings as soon as you know you will move, and keep the archive somewhere your organization controls.
  • Check the 90-day file link window: Files older than 90 days will not have links in the export, so download anything you need from Slack directly while it is still accessible.
  • Assume private channels and DMs are out of reach: Free workspaces cannot export them, so plan for those conversations to be lost unless members save them manually.
  • Watch the one-year deletion date: Work out which history is approaching the one-year mark and prioritize it.

Ask Slack's help center or your account contact whether your plan has changed, and confirm the current retention behavior for your workspace before you rely on it.

What to plan before the Slack contract renews or ends

A Slack export is only as complete as the plan behind it. The plan links the export timetable to the renewal date, the approval your workspace needs for private channels and DMs, the retention rules that apply to your records, and the destination you choose. Each card below is a decision to settle and confirm in writing before anyone starts the export.

Export timetable against renewal

Work back from the contract end date to a fixed export window, and allow time to test the output before the workspace is downgraded or closed. Slack's Free plan permanently deletes content older than one year, so a downgrade can remove history that you have not yet exported. Ask Slack in writing when your current plan's history limits take effect and when a downgrade would apply to your workspace.

Approval lead time for private data

Private channels and direct messages only leave Slack after an approved application on Business+ or Enterprise, and only workspace owners, admins or members with the Export admin role can run the export. Confirm with Slack how long approval takes for your workspace and who must sign it off internally. Without approval, the export covers public channels only, so plan the request as early as the renewal date allows.

Retention and legal hold needs

If legal, regulatory or litigation holds apply to Slack content, decide before export which records must be kept and who owns the hold. Exports contain messages and file links, so a hold on files needs a separate copy plan. Ask your legal team and Slack whether any hold must be preserved in Slack itself until the destination platform holds the data, and document the decision.

Destination platform choice

Choose the destination before the export, because the format you receive depends on the tool that will import it. Mattermost imports a Slack export through its migration tooling, and Rocket.Chat imports full Slack workspace exports through its built-in importer. Confirm which users, channels, threads and attachments each importer carries across, and what must be rebuilt, such as integrations and user groups.

File storage target

Slack exports contain file links, not the files, and Free workspaces only provide links from the last 90 days. Decide where the actual files will live, such as object storage or a network file share, and who copies them before links expire. Confirm the storage capacity, backup scope and access controls with your infrastructure team, because the destination platform will reference those files after cutover.

Verification sign-off

Name the people who approve the export as complete: a data owner, a security reviewer and a team lead who checks sample conversations, threads and attachments. Agree on acceptance checks before the first import, such as message counts for sampled channels and access tests for private content. Record the sign-off so auditors and records managers can see when and how the data was verified.

Questions buyers ask before exporting Slack data

How much effort does a full Slack export take?

The effort depends mostly on what is in scope, not on a fixed duration. Slack exports contain messages and file links rather than the files themselves, so the size of the message history and the number of conversations drive the work. Export scope also matters: public channels are available on every plan, while private channels and direct messages require an approved Business+ or Enterprise application. Ask Slack and your own team how long the approval and export steps take for your workspace before you plan a date, because those waits are often the longest part of the process.

Can a workspace admin export Slack data without outside help?

Yes, if the person is a workspace owner or admin, or a member with the Export admin role. The export itself is a self-service task in Slack's admin tools. What an admin cannot do alone is obtain private channel and direct message content on Business+ or Enterprise workspaces without an approved application, and on Enterprise Grid, exports cannot be imported into other Slack workspaces. Outside help is usually needed later, when the data has to be loaded into a new platform and mapped to its users, channels and permissions.

What does the export need from the workspace owner and IT?

Three things need to line up: an owner or admin who can run the export, a decision on which conversation types are in scope, and IT ownership of where the output is stored. For private channels and direct messages, the workspace must apply through Slack and wait for approval, so the owner should start that request early. IT should confirm storage location, access controls and retention for the export files, since they contain message history and links to files that may hold sensitive data. Agree these points in writing before the export is requested.

Can private channel and direct message export be refused?

Yes. Slack controls whether private channels and direct messages can be exported, and the application for Business+ or Enterprise workspaces can be declined or delayed. Custom exports by member or conversation are reserved for Enterprise. If your organization needs those conversations for legal, records or migration reasons, confirm with Slack what the approval process requires, what it covers, and what fallback exists before you commit to a migration timeline. Do not assume a full history is available until Slack has confirmed it.

What would a consultant add beyond the export file itself?

The export is only the raw input. A consultant can plan which conversations and users to keep, map Slack channels and roles to the target platform, run test imports, check that messages and threads arrived intact, and document what did not transfer, such as integrations, user groups or shared channels. DeployOpen plans, implements, integrates and documents self-hosted open-source platforms in your own infrastructure, and works from a written scope agreed before work starts. DeployOpen does not issue audit reports or certifications, so any compliance evidence still comes from independent auditors.

How far before renewal should we start a Slack export?

Start early enough to cover the approval wait, a test export, a test import and a review of what did not transfer. Slack's plan terms matter here: Free workspaces keep only 90 days of visible message and file history, and content older than one year is permanently deleted, so any Free workspace should not wait for a renewal to export. For paid plans, confirm your contract's notice period and data return terms with Slack. The exact lead time depends on your workspace and approval timing, so ask Slack and your implementation partner to estimate it from your own data.

How do we verify that an export is complete?

Verify completeness by comparing the export against a defined inventory rather than trusting the file size. Count public and approved private channels, check the date range against your retention needs, and sample threads, edits and reactions in the export. Confirm that file references resolve, understanding that the export contains links, and note that Free workspaces only provide file links from the last 90 days. Record each check and its result, then repeat the same checks after the import into the target platform so that gaps are documented, not discovered later.

How DeployOpen works on this

DeployOpen treats a Slack data exit as a fixed-scope engagement inside your own infrastructure. We agree in writing which plan tier, channel types and exports are in scope, then plan, build and document the export and import path for your chosen platform.

How we scope

  • Confirm which Slack plan and export permissions your workspace has before any work starts
  • Inventory public channels, private channels, DMs and Slack Connect channels so the written scope names each one
  • Agree in writing which content types move, such as messages, threads and file links, and which stay behind

How we build

  • Set up the target platform inside your cloud account, data center or air-gapped network, with the database and storage it needs
  • Convert and test the Slack export in a staging environment before any production import
  • Test imported users, channels, threads and file links against a sample checklist agreed in the scope

How we hand over

  • Deliver runbooks covering the export steps, import commands, known gaps and manual rebuild tasks such as integrations
  • Document the admin settings, access roles and retention configuration as they exist at handover
  • Provide the migration evidence your compliance or records team asks for, without issuing any audit report or certification

How we support

  • Offer ongoing support, upgrades and continuous testing as a retainer after the fixed-scope engagement ends
  • Plan patching and version upgrades for the platform so it stays on a supported release line
  • Ask your team to confirm the retainer terms and response expectations in writing before work begins

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.