# Webhook gateway limits
When you use a real-time trigger, a webhooks connector, or build a webhook trigger on the connector SDK, events are sent to the webhook gateway before becoming jobs. Workato's webhook gateway enforces two limits at the Workspace level:
Rate limits
The number of events you can send in a given time interval.
Byte limits
The total memory size of webhook events allowed in a specific time interval.
# Rate limits
The webhook gateway uses rate limits to manage the efficient processing of events. These following limits apply:
- Steady rate: 20 events per second, equivalent to 72,000 events per hour.
- Burst allowance: 1,000 events that can be processed beyond the steady rate in a burst.
# Leaky bucket rate limiting
The webhook gateway uses a leaky bucket approach with the following process:
If you receive more than 20 events in a second, the excess events consume your burst allowance.
If you receive fewer than 20 events in a second, the remaining capacity refills your burst allowance, but only if the burst allowance is less than 1,000 events.
BURST ALLOWANCE REFILL LIMIT
The burst allowance does not refill if it has already reached the maximum limit of 1,000 events.
If you exceed both the steady rate (20 events per second) and the burst allowance (1,000 events), the webhook gateway returns a 429 Too Many Requests
response for additional events until the rate falls within the limit.
HANDLING 429 RESPONSES
The webhook gateway sends 429
responses to maintain stability for all customers. The best practice for handling 429
responses is to retry webhooks until they are accepted.
# Example scenarios
The following scenarios demonstrate how the webhook gateway processes different amounts of events:
# Scenario 1: 25 events in one second
When you receive 25 events in one second, the webhook gateway processes 20 events within the steady rate. The remaining 5 events consume part of your burst allowance.
# Scenario 2: 10 events in one second
If you receive 10 events in one second, the gateway processes all 10 events. The unused capacity (10 events) refills your burst allowance, provided it hasn’t reached the maximum limit.
# Scenario 3: 1,050 events in one second
In this scenario, you receive 1,050 events in one second. The gateway processes 20 events at the steady rate, and the next 1,000 events deplete your entire burst allowance. The remaining 30 events result in a 429 Too Many Requests
response, as both the steady rate and burst allowance are exceeded.
# Byte limits
Our webhook gateway has the following byte limits, which represents the total memory in all your webhooks:
- 30MB per minute
- 30MB in a burst
You can imagine the byte limits per minute and burst in the same way as the rate limits.
HANDLING 429 RESPONSES
429 requests are meant to preserve the stability of our webhook gateway for all customers. Industry best practices for 429s are to retry webhooks until they are eventually accepted. In high volume scenarios, webhook gateway limits may be adjusted on a per-customer basis and subject to commercial terms and approval.
# Rate limit revisions
We understand that each business has unique event processing needs. Our goal is to support your objectives by offering flexible rate limits tailored to your specific requirements.
For existing customers, we recognize that some may have higher rate limits based on earlier versions of our documentation, including a steady rate of 20 events per second and a burst allowance of 18,000 events. We remain committed to honoring these higher limits. Any changes to your rate limits are communicated in advance.
If the standard rate limits do not meet your requirements, we encourage you to contact our support team to discuss potential adjustments. We work with you to ensure that your usage aligns with your business objectives while maintaining platform stability.
# Additional information for embedded partners
For Embedded Partners using our shared connectors feature to distribute connectors to their customers, static webhook triggers in your customer workspaces have their own separate webhook rate limits. For example, webhook events to Customer A's workspace will not be counted to Customer B's workspace webhook rate limits.
# Handling situations when your Webhook Gateway limits are exceeded
When you exceed your rate limits, Workato's webhook gateway responds with 429 errors. In addition to this, Workato's webhook gateway responds to every event with 5 headers that help you understand when you can successfully send your next event.
Retry-After
- How many seconds to retry the same webhook before it will be acceptedX-Rate-Limit-Remaining
- How many events that can be sent before 429s will be returnedX-Rate-Limit-Reset
- How many seconds before your event burst allowance is refilledX-Byte-Limit-Remaining
- How much cumulative data across all webhooks that can be sent before 429s are returnedX-Byte-Limit-Reset
- How many seconds before your Byte burst allowance is refilled
Your API can use these headers to understand how and when to throttle webhook events.
Last updated: 10/29/2024, 5:52:16 AM