# How to Automate Slack Channel Reports using the API

- Tool: API Automations
- Difficulty: Intermediate
- Fix time: 30-60 minutes
- Compatibility: Free for internal/single-workspace apps (retain 50+/min, 1,000 objects/request); severely rate-limited for non-Marketplace distributed apps since March 2026
- Last updated: May 2026

## TL;DR

Automate Slack channel reports by calling conversations.history to fetch messages and conversations.replies for thread data, then aggregating stats and posting a summary via chat.postMessage. Critical 2025-2026 change: non-Marketplace apps are now limited to 1 request/minute and 15 messages/request on conversations.history (effective March 3, 2026). This makes naive polling for active channels impossibly slow — Marketplace approval or internal app status is the only sustainable path for production channel analytics.

## Best practices

- Build as an internal app (not for distribution) to retain Tier 3 rate limits — the March 2026 non-Marketplace limit of 1 req/min makes real-time channel analytics impractical for distributed apps.
- Use oldest and latest Unix timestamps to scope conversations.history requests to your report window — don't fetch all messages then filter client-side.
- Store aggregated stats in a database after each report run — enables week-over-week comparisons without re-fetching history.
- Paginate through all results using the cursor from response_metadata.next_cursor until has_more is false.
- Post reports as threaded replies if running multiple channel reports — keeps the reporting channel readable.
- Always check ok: false in responses — Slack returns application errors as HTTP 200, not HTTP 4xx.
- Schedule reports during off-peak hours to minimize rate limit conflicts with interactive bot usage.

## Frequently asked questions

### Is the Slack API free for channel reports?

Yes — the API itself is free. However, the conversations.history rate limit for non-Marketplace apps dropped to 1 request/minute in March 2026, making it extremely slow for large channels. Internal apps (single-workspace install) retain full Tier 3 access (50+/min, 1,000 messages/request).

### What happened to conversations.history rate limits in 2025-2026?

Slack moved conversations.history and conversations.replies from Tier 3 (50+/min, 1,000 objects) to Tier 1 (1/min, 15 objects) for non-Marketplace commercially-distributed apps. New apps were affected from May 29, 2025; existing non-Marketplace installs from March 3, 2026. Internal customer-built apps and Marketplace apps are unaffected.

### How do I get Tier 3 access for conversations.history?

Two paths: 1) Build an internal app — install it only in your own workspace, not distributed. Internal apps retain full Tier 3 access. 2) Submit your app to the Slack Marketplace — approved apps also retain Tier 3. For most teams building internal tooling, the internal app route is faster and easier.

### What happens when I hit the rate limit?

Slack returns HTTP 429 with body {ok: false, error: 'ratelimited'} and a Retry-After header (typically 60 seconds for Tier 1 limits). Sleep for Retry-After + 1 second before retrying. The limit is per-method, per-workspace, per-minute — a 429 on conversations.history doesn't affect chat.postMessage.

### Can I fetch message history from private channels?

Yes, but you need the groups:history scope (not channels:history). The bot must also be invited to the private channel. Private channels start with C... but can be distinguished by their is_private field in the conversations.list response.

### How far back can conversations.history go?

There is no hardcoded historical limit in the API — it depends on your Slack plan's message retention policy. Free Slack workspaces retain only 90 days. Paid plans retain messages based on your org's retention settings (often unlimited). Use the oldest parameter to scope your request to the desired window.

### Can RapidDev help build a custom Slack analytics system?

Yes. RapidDev has built 600+ apps including Slack analytics dashboards with message volume tracking, sentiment analysis, and automated weekly digest reports. Visit rapidevelopers.com for a free consultation.

---

Source: https://www.rapidevelopers.com/api-automations/how-to-automate-slack-channel-reports-using-the-api
© RapidDev — https://www.rapidevelopers.com/api-automations/how-to-automate-slack-channel-reports-using-the-api
