Can You Export Private Slack Channels Without Enterprise Grid?
No, not through Slack's own export tool. Slack's data export documentation is explicit: exporting messages and files from private channels and direct messages requires a Business+ or Enterprise plan. On Free and Pro, the export tool only ever produces public channels. Private channels and DMs aren't in scope, no matter how the export is run.
Even that answer is more conditional than it looks. Business+ doesn't hand you private-channel export by default; a Workspace Owner has to apply for it, and the application needs sign-off from your Workspace Primary Owner, with Slack's support team reaching out to run the review before the export tool unlocks. Enterprise (what Slack marketed for years as Enterprise Grid, now sold as Enterprise+) gets a self-serve export console with more format options, but plan tier and permission gate it the same way underneath.
What each plan actually exports
| Plan | Public channels | Private channels & DMs |
|---|---|---|
| Free | Yes, messages + file links (files limited to last 90 days) | No |
| Pro | Yes, messages + file links | No |
| Business+ | Yes | Yes, after applying; approval needs sign-off from your Workspace Primary Owner, with Slack support running the review |
| Enterprise+ | Yes | Yes, self-serve, selectable by conversation type, member, or workspace, in JSON or TXT |
Slack Connect channels add one more wrinkle regardless of plan. Per Slack's own Slack Connect guide, files shared by the other organization in a Connect channel aren't included in your export, only files your own workspace members shared. If most of the useful detail in a customer channel came from the customer's side, an export misses it even when you're cleared to run one.
Direct messages carry a narrower caveat. Business+ and Enterprise+ can export DMs between people inside your own workspace, but a DM with someone outside your org (a Slack Connect DM, not a channel) follows the same cross-org file rule as Connect channels: your side of the conversation exports, theirs doesn't automatically come along. It's easy to assume "we're on Enterprise, we can export anything" and then find a specific thread is half-missing for a reason that has nothing to do with plan tier.
The gap this creates
Most teams that go looking for this answer aren't trying to archive a workspace. They're trying to get feedback, complaints, or a paper trail out of a private channel where a customer conversation happened, and they're on Pro because nobody thought a $8.75/seat/month plan would ever need to touch export.
Take Marcus Webb, a support lead at a 60-person fintech company. His team runs a private Slack Connect channel with their largest bank partner, and three weeks ago someone in that channel wrote "we're going to have to swap vendors if the API rate limit doesn't move," the kind of line that should show up in a churn-risk doc. Marcus went to pull it for a renewal review and hit Slack's export screen, which offered him a zip of public channels only. The workspace is on Pro. Upgrading to Business+ for one export, then waiting on an approval email, wasn't going to happen before the meeting.
Marcus's options at that point were the usual ones people reach for in this situation:
- Scroll back manually and screenshot the thread, which works until the channel is old enough that scrolling takes an hour.
- Ask whoever was in the thread, in this case the account manager, to paraphrase it from memory into a doc, which loses the exact wording that made the quote worth pulling in the first place.
- Try one of the third-party "Slack exporter" tools that show up in a search for this problem.
That third option deserves more scrutiny than the first two. Most of them work by asking for a user token and then paging through the Slack API on your behalf, which means handing a browser extension or a small script read access to everything that token can see. Slack's own terms restrict what user-token scraping is allowed to do, and a tool built by an unknown maintainer is a real credential to hand over for a document you needed twice a quarter. Marcus ended up doing the screenshot, which is the right call for a one-off, but it's not a system.
Where the export framing stops being the right question
The plan-tier gate applies specifically to the export feature, a point-in-time dump you request and download. It has nothing to do with whether a piece of software can read a channel going forward. Slack's API lets any app read the channels it's been invited to, on any plan, the moment someone runs /invite. That's a bot-level integration granted per channel, not a compliance-tier export, and it's how tools that watch Slack continuously actually work, including Modem, which publishes this guide.
Modem connects to a workspace's own Slack API access rather than requesting an export. You add it to specific channels, including private and Slack Connect ones, the same way you'd add a teammate: Modem posts a message asking channel members to approve before it reads anything, and it never sees channels it hasn't been invited to. Once approved, it reads new messages as they happen and turns "we're going to have to swap vendors" into a linked, searchable topic with Marcus's bank partner and the thread attached, whether that partner is on Slack Free or Enterprise+. It runs on any plan because it was never using the export feature to begin with; the connection is a standard Slack app installation, the same category of permission any Slack app asks for. Details on setup are on the Slack integration page.
Two caveats to flag directly. Modem can only see a channel it's been invited to, so it doesn't solve "reconstruct a channel we already left" or "find every private channel we might not know exists." And the pricing model doesn't scale with headcount: every plan ships unlimited users, with cost scaling on usage past what's included rather than on seat count, which matters if the alternative you're weighing is a Business+ upgrade billed per seat.
This solves a different problem than export does. Export answers "get me everything from a date range." Modem answers "never lose the thing someone said in passing," continuously, which is what most people actually want when they go looking for an export workaround. It doesn't replace a real compliance or legal-hold export. If you need a defensible full-workspace archive for a subpoena or an offboarding audit, that's still an Enterprise+ conversation with Slack directly, and no third-party tool should be in that path. For ongoing product and customer signal, though, the export tier stops being relevant once something is reading the channel directly instead of waiting to dump it later.
If private-channel capture keeps coming up rather than being a one-time need, two other guides go further: best tools to mine customer feedback in Slack walks through the broader tool landscape, not just Modem, and how to keep a product feedback Slack channel useful picks up after capture, once the channel itself needs upkeep.
Export, approval, or a bot in the channel
If you're on Free or Pro and need one private-channel export, there's no path around Business+ and its approval process, so budget days, not minutes, for the application to clear. If you're on Business+ or Enterprise+, the export tool works, but check whether the Slack Connect file-sharing carve-out already excludes what you need before you assume the download is complete. And if the actual goal is not losing customer signal that happens to land in a private channel, invite-based reading solves it at any plan tier, because it was never gated behind export in the first place.
