Slack

How to keep Slack messages longer than 90 days

Five ways to keep Slack messages past the free plan's 90-day window — upgrading, exporting, archiving or switching — ranked by cost and effort.

· 4 min read

You've hit the wall, you've read the banner, and now you want the practical answer rather than the explainer. Here are the five real options, what each one costs, and which one is actually right for the situation you're in.

Quick context if you need it: on Slack's free plan, messages and files older than roughly 90 days become inaccessible. They aren't deleted — they're retained and hidden — so every option below is about regaining access, not recovering lost data. Terms change; slack.com/pricing is the source of truth.

Option 1: Upgrade the workspace

The obvious one. A paid Slack plan restores access to the full history immediately, including everything currently behind the wall. No migration, no export, no change to anyone's habits.

  • Effort: near zero. Someone enters a card.
  • Cost: per person, per month, indefinitely — and it scales with hiring, not with usage.
  • Right answer when: you need huddles, Slack Connect, SSO or the app directory anyway, in which case history is a bonus rather than the purchase.

The thing to be clear-eyed about is the permanence. This isn't a one-time payment to unlock an archive; it's a subscription that keeps the archive readable. Stop paying and the wall comes back.

Option 2: Export what you can, on a schedule

Slack workspace exports produce JSON. On a free workspace you can export the content you currently have access to — meaning a regular export captures each 90-day window before it closes.

  1. 1Set a recurring calendar reminder — monthly is a sensible cadence, comfortably inside the window.
  2. 2Run the export from workspace settings. Availability and scope depend on your plan, so check what your workspace offers.
  3. 3Store the archive somewhere durable and backed up. A folder in someone's Downloads is not that.
  4. 4Accept that you now have JSON, not a chat app. Finding anything means grep, a script, or a viewer someone builds.
  • Effort: low to set up, ongoing forever, and entirely dependent on somebody remembering.
  • Cost: $0 plus whatever the reminders cost your attention.
  • Right answer when: you need the data preserved for compliance or posterity, and nobody needs to browse it day to day.

Option 3: Push the important parts somewhere else

Change what you expect chat to be. Treat Slack as ephemeral by design, and move anything that matters into a place built to last: decision records, runbooks, an internal wiki, tickets.

  • Effort: high, permanently, distributed across every person on the team.
  • Cost: $0 in software. Meaningful in discipline.
  • Right answer when: your team is small, senior and genuinely writes things down — which is rarer than every team believes about itself.

This is the option everyone says they'll do and almost nobody sustains. It fights the basic physics of chat: the whole reason discussion happens there is that it's frictionless, and the moment you add a “now write it up properly” step you've added friction to the thing that was working.

Worth doing partially regardless. A decision record is better than a thread even when the thread is available.

Option 4: Bolt on an archiving tool

There are third-party services that connect to a workspace and mirror messages into their own store, giving you searchable history beyond the window.

  • Effort: medium — an install, an approval, an integration review.
  • Cost: usually per-seat as well, which means you may be paying two per-seat bills to solve one problem.
  • Right answer when: compliance requires retention specifically and upgrading the whole workspace isn't on the table.

Do read the data-handling terms properly on these. You're routing your entire internal conversation through an additional vendor, which is a real expansion of your trust boundary for what is fundamentally a workaround.

Option 5: Use chat that has no history limit

The structural fix. Self-hosted and open source chat platforms generally don't limit history, because the storage is yours and there's no upgrade to sell you. Your disk, your retention policy.

  • Effort: highest up front — this is a migration, and migrations are change management wearing a technical costume.
  • Cost: $0 in licensing for open source options; hosting if you self-host.
  • Right answer when: the 90-day limit is your main complaint and you don't depend on huddles, Slack Connect or SSO.

The honest obstacle: importing your existing Slack archive is the hard part in every one of these tools, Fluid included — there's no Slack importer yet. Most teams run Slack's export for safekeeping, start fresh, and keep the old archive as a file. Not elegant. Considerably better than a wall.

Picking one

OptionUp-front effortOngoing costHistory is browsable
Upgrade SlackNonePer seat, monthlyYes
Scheduled exportsLowNoneNo — it's JSON
Write things down insteadHighNonePartly, elsewhere
Third-party archiverMediumOften per seatYes, in their tool
Chat with no limitHigh (migration)Hosting, or noneYes

A decent rule: if you're staying on Slack for reasons other than history, upgrade and stop thinking about it. If history is the only reason you'd upgrade, that's an odd thing to buy a permanent subscription for, and it's worth spending an afternoon on option five before you commit.

Option five, in about two minutes.

Fluid Chat keeps unlimited history on the free plan and searches all of it. Start a workspace in the browser, or run it on your own Postgres.

FAQ

Questions people actually ask.

Can I recover Slack messages older than 90 days?

Yes, by upgrading the workspace to a paid plan — the older messages are retained rather than deleted, so access is restored rather than the data being recovered. There is no way to view them on the free plan.

Does exporting Slack preserve messages past the 90-day window?

An export captures what the workspace can currently access, so on a free plan it captures the current window rather than the full archive. Running exports on a recurring schedule — monthly is comfortable — preserves each window before it closes.

What format does a Slack export use?

JSON. That's excellent for preservation and poor for browsing, so plan for a viewer, a script, or grep if anyone will need to actually read it later.

Is there a free way to keep unlimited Slack history?

Not within Slack's free plan. Outside it, chat platforms without history limits — including self-hosted open source options and Fluid Chat's free hosted version — keep everything by default, since there's no upgrade tier for access to be sold from.

Can I import my old Slack messages into another chat tool?

It depends on the tool, and it's usually the hardest part of any migration. Fluid Chat does not have a Slack importer yet. Most teams export from Slack for safekeeping, start fresh in the new tool, and keep the archive as a searchable file.

Something not covered? Open an issue.

The version where the wall doesn't exist.

Unlimited history, unlimited search, $0, hosted or self-hosted. It's not a plan — it's the only plan.