How to View Slack Analytics
Open the analytics dashboard at https://my.slack.com/admin/stats, or click your workspace name in the top left of the Slack app, then Tools & settings, then Analytics. On Enterprise Grid, org-level admins reach the equivalent view from the admin dashboard, where an extra tab rolls up every workspace in the org. Slack analytics is a browser view. If you are in the desktop app, the menu item opens a browser tab for you.
Inside, you get three tabs: Overview, Members and Channels. Overview shows aggregate activity over a date range you choose, including daily and weekly active members, how many people posted, how many messages were sent, and the share of messages that landed in public channels rather than private channels and DMs. Members lists every person with their activity: last active date, days active, messages posted, and how public their messaging is. Channels lists every channel with member count, messages posted, number of people who actually posted, and date of last activity. The Members and Channels tabs both have an export button that gives you a CSV. Data refreshes roughly once a day, so today's activity will not be there yet, and days are bucketed in UTC rather than your local time.
What each tab is actually good for
The three tabs answer different shapes of question, and picking the wrong one is the most common reason people conclude "Slack analytics doesn't show that".
| Tab | Best question to ask it | What it will not tell you |
|---|---|---|
| Overview | Is workspace activity trending up or down across a period? Is the public/private split moving? | Anything about a specific person or channel |
| Members | Who has gone quiet? Who is posting almost entirely in DMs? Which accounts are inactive before a licence renewal? | What anyone said, or who they said it to |
| Channels | Which channels are dead? Which have many members but few posters? Where did activity spike? | Content, thread depth, or read behaviour |
A useful habit: change the date range before you read anything. The default window flatters or flattens most trends. If you are checking whether a change worked, set the range to the four weeks before the change, screenshot it, then set it to the four weeks after.
The metric most people misread
"Messages posted" is a volume count, not an engagement count. Three things distort it more than anything else.
First, apps. A single alerting integration posting build failures into #eng-alerts can outweigh every human message in the workspace. When a channel looks unusually busy, open it and check whether a bot is doing the talking.
Second, threads. A conversation with 40 replies inside one thread reads very differently from 40 top-level messages, but the count treats them similarly. Channels that look quiet sometimes have deep threaded discussion.
Third, DMs. The Overview counts direct message volume in aggregate, and that is deliberate. Slack does not expose who direct messaged whom, and no admin dashboard will show you that. If your workspace shows 60 percent of messages happening outside public channels, you have learned something real about how the company works, but you cannot drill into it.
Exporting the raw numbers
The CSV export on the Members and Channels tabs is the fastest way to do real analysis. Export both, open them in a spreadsheet, and you can sort, filter and pivot in ways the dashboard will not let you. Two joins that pay for themselves immediately:
- Channels sorted by date of last activity, ascending, filtered to public channels with more than five members. Everything above a 90-day cutoff is an archiving candidate.
- Members filtered to status = active and messages posted = 0 over the last quarter. On a paid plan, that list is a licence conversation.
For programmatic access, Enterprise Grid orgs can use the admin.analytics.getFile Web API method with the admin.analytics:read scope and an org-level app install. You request a single day at a time and get back a gzipped file of newline-delimited JSON, with member and public_channel data types. It is the same data the dashboard renders, in a form you can load into a warehouse and keep beyond whatever the UI shows.
Two adjacent endpoints are worth knowing even if they are not labelled analytics. team.accessLogs returns sign-in records with IP, device and user agent, which is what you actually want for a security or offboarding question. conversations.list plus conversations.history lets you build any custom count you like, subject to your plan's message retention.
Where the simple answer breaks
Free plans. Message history on free workspaces is capped, and the analytics window is capped along with it. If you are on Free and looking for a year-over-year trend, it is not there and no setting will bring it back. Export what you can see, on a schedule, before it rolls off.
Private channels. Private channel activity contributes to workspace totals, but the channel-level detail available to you depends on your role and plan. Do not assume a low public channel count means low activity. In many companies, most real work happens in private channels and the public share sits below 40 percent.
Deactivated accounts. The Members tab defaults to active members. When you are reconciling headcount against messages, deactivated people who posted heavily during the period will be missing from the default view, and your totals will not add up until you include them.
Time zones. Because days are UTC-bucketed, a team in Sydney or San Francisco will see activity smeared across two dashboard days. For daily granularity in a distributed company, use the exports and re-bucket in your own tooling.
Access. Whether ordinary members can open the dashboard depends on your workspace settings and plan. If the Analytics item is not in your menu, that is a permission, not a bug. Ask an owner rather than hunting for a hidden URL.
Worked example: finding channels to archive
Say the workspace has 400 channels and nobody can find anything.
- Open the Channels tab. Set the date range to the last 90 days.
- Export the CSV.
- Filter to
Messages posted = 0and sort by member count descending. - Anything with 20 or more members and zero messages in 90 days is noise in everyone's sidebar. Archive it. Archiving preserves the history and it is reversible.
- Separately, filter to channels where
Members who postedis under 5 percent ofMembers. Those are broadcast channels. They are not necessarily dead, but they should probably be announcement-only, and several of them are usually duplicates of each other.
That single pass typically retires 20 to 40 percent of channels in a workspace over two years old.
Worked example: did the announcement land?
Someone posted a policy change in #general and wants to know if it reached people. The dashboard gets you partway and then stops.
What it will tell you: how many people were active that day, how many posted in #general, and how many reactions the channel received in the period. What it will not tell you is how many people read the specific message. Slack does not expose per-message read receipts, in the dashboard or the API, on any plan.
The practical substitute is in-Slack search rather than analytics. Search in:#general after:2026-08-01 to scope a period, or search a distinctive phrase from the announcement across the workspace to see where people quoted or forwarded it. Reactions on the original message are a rough proxy, and a follow-up post with an emoji acknowledgement is a much better instrument than any dashboard number.
Quick counts without opening the dashboard
For one-off questions, search modifiers are faster than analytics. in:#channel from:@person after:2026-06-01 before:2026-07-01 gives you a result count for exactly that slice. has:link in:#design finds shared assets. These counts are not exportable and they respect your own access, which is precisely why they are useful for personal questions and useless for workspace reporting.
When counts stop being the answer
Slack analytics is a good instrument for one thing: measuring the shape of Slack usage itself. Channel sprawl, adoption after a rollout, licence waste, the public versus private split. It is not an instrument for answering business questions that happen to have evidence sitting in Slack, because it only ever counts messages. It never reads them.
That gap is where most of the frustration comes from. The question is rarely "how many messages were posted in #support". It is "which customers complained about the same thing twice this month, and are any of them up for renewal". The evidence for the first half is a set of sentences in Slack. The evidence for the second half is in your CRM. BI tools connect to databases and modelled sources, so a sentence in a Slack thread is outside what they can see at all.
Skopx connects to Slack alongside nearly 1,000 other tools and your databases, so you ask that question in chat and get an answer with citations back to the specific messages and records it used. More on how that works on the platform page.
Skopx Team
The Skopx engineering and product team