# Rate limit tiers, Retry-After and event limits

*Slack Developer Study Guide · Design Your Workflows: Spotlight on Slack's APIs · Last updated October 21, 2026 · https://www.certifyforce.com/study-guide/slack-developer/design-your-workflows-spotlight-on-slacks-apis/rate-limit-tiers-retry-after-and-event-limits*

How Slack rate limits work and how an app should react: Web API tiers per method, per workspace, per app in per-minute windows, HTTP 429 with Retry-After scoped to one method and workspace, about one message per second per channel, stricter limits without pagination, the 2025 conversations.history change for unlisted apps, and the 30,000-event Events API cap with app_rate_limited.

- Certification: Salesforce Slack Developer
- Exam section: Design Your Workflows: Spotlight on Slack's APIs
- Study guide: https://www.certifyforce.com/study-guide/slack-developer

**Official exam objective:**

> Process rate limits throughout the Slack platform.

## What the exam expects

- Explain how Web API limits are applied: per method, per workspace, per app, in per-minute windows, with the tier listed in each method's Facts.
- Handle HTTP 429 by waiting the `Retry-After` seconds for that method and workspace only, while other calls continue.
- Keep message posting near one message per second per channel and consolidate bursts.
- Paginate collection methods with sensible limits to get the published rate limit rather than stricter unpaginated limits.
- Recognise `app_rate_limited` as the Events API delivery cap of 30,000 events per workspace per app per 60 minutes, distinct from failure-based disabling.

Key terms: **rate limit tier** (Tier 1-4 or special, the request allowance assigned to a method), **HTTP 429** (Too Many Requests), **`Retry-After`** (header with the seconds to wait), **burst** (short spikes above the limit that Slack tolerates), **`app_rate_limited`** (the event Slack sends while event deliveries are capped).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Scope of Web API limits | Per method, per workspace, per app | [Rate limits](https://docs.slack.dev/apis/web-api/rate-limits/) |
| Window | Per minute | [Rate limits](https://docs.slack.dev/apis/web-api/rate-limits/) |
| Tier location | Facts section of the method reference | [Rate limits](https://docs.slack.dev/apis/web-api/rate-limits/) |
| Plans | All plans get the same tier per method | [Rate limits](https://docs.slack.dev/apis/web-api/rate-limits/) |
| Over the limit | HTTP 429 with `Retry-After` in seconds | [Rate limits](https://docs.slack.dev/apis/web-api/rate-limits/) |
| 429 blast radius | Same method, same workspace, any of its tokens | [Rate limits](https://docs.slack.dev/apis/web-api/rate-limits/) |
| Posting | About 1 message per second per channel; webhooks too | [Rate limits](https://docs.slack.dev/apis/web-api/rate-limits/) |
| `chat.postMessage` | Special tier; several hundred per minute workspace-wide | [chat.postMessage method](https://docs.slack.dev/reference/methods/chat.postMessage) |
| Unpaginated calls | Stricter limits than the published tier | [Rate limits](https://docs.slack.dev/apis/web-api/rate-limits/) |
| Unlisted distributed apps | New apps and new installs since May 29, 2025: `conversations.history` and `conversations.replies` at 1 per minute, 15 objects | [Rate limit changes for non-Marketplace apps](https://docs.slack.dev/changelog/2025/05/29/rate-limit-changes-for-non-marketplace-apps) |
| Events API cap | 30,000 per workspace per app per 60 minutes | [The Events API](https://docs.slack.dev/apis/events-api/) |

## Check yourself

- Why doesn't a 429 on one workspace stop the same call for another workspace?
- Where do you find a method's rate-limit tier?
- When does an app receive `app_rate_limited`?
- Why paginate `users.list` instead of fetching it all at once?
- What history-method limits apply to a new install of an unlisted, commercially distributed app?

## Sources

- [Rate limits](https://docs.slack.dev/apis/web-api/rate-limits/)
- [chat.postMessage method](https://docs.slack.dev/reference/methods/chat.postMessage)
- [Pagination](https://docs.slack.dev/apis/web-api/pagination)
- [conversations.list method](https://docs.slack.dev/reference/methods/conversations.list)
- [conversations.history method](https://docs.slack.dev/reference/methods/conversations.history)
- [Rate limit changes for non-Marketplace apps](https://docs.slack.dev/changelog/2025/05/29/rate-limit-changes-for-non-marketplace-apps)
- [The Events API](https://docs.slack.dev/apis/events-api/)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 5 linked practice questions, and unlimited timed mock exams are included with the Slack Developer pack (USD $19): https://www.certifyforce.com/practice-exams
