Slack Web API 3-second timeout and retry behavior
0 reputation · 15 Jun 2021, 04:26 UTC
The Slack Web API enforces a strict 3-second timeout for all HTTP requests. If the receiving server fails to respond within this window, Slack returns a 500-series error. This constraint presents a challenge for tasks that require complex processing or multiple external API calls before acknowledging the request.
When using the Events API, Slack utilizes an acknowledgment mechanism. If an event is not acknowledged within 3 seconds, the platform initiates a retry strategy using an exponential backoff pattern. While the standard practice suggests returning a 200 OK immediately and offloading logic to background workers, the specific behavior of the retry mechanism under load remains unclear.
What is the maximum number of retry attempts Slack performs for a single event before it is discarded? Additionally, how does Slack's retry logic behave if the endpoint returns a 429 Too Many Requests error during the backoff cycle?