ChatGPT-in-Slack
ChatGPT-in-Slack copied to clipboard
Implement Rate Limit Handling for Slack's New API Limits
With the new rate limit policies from Slack's May 2025 update (https://api.slack.com/changelog/2025-05-terms-rate-limit-update-and-faq), deployments of this application are susceptible to hitting API rate limits, resulting in HTTP 429 (Too Many Requests) errors.
Since Slack does not provide a way to adjust rate limit tiers, we may need to implement internal controls to ensure the app remains reliable and stable.
Problem
- The app's usage pattern can easily trigger Slack's API rate limits.
- This leads to service disruptions and a poor user experience.
Proposed Solutions
-
Request Throttling:
- Implement a queue system to manage the rate of outgoing API calls.
- Introduce a configurable delay between requests.
-
Retry Mechanism:
- Implement a progressive backoff strategy for retries upon receiving a 429 error (e.g., waiting 1s, then 2s, 3s, 5s, etc.) to effectively manage request frequency.
-
Basic Monitoring:
- Add logging to track API usage and the frequency of rate limit events, helping administrators understand their instance's load.
Further discussion and suggestions on handling rate limiting are welcome.