Webhook delivery handling
Size webhook processing for bursts and redelivery
Average event rate hides the load after an outage. Keep receipt available while workers catch up within the limits of downstream services.
In this article
Separate receiver and worker capacity
The receiver performs bounded verification and durable acceptance. Workers perform the potentially slow business action. Measure each path independently.
A fast receiver can still fail if its storage cannot sustain the burst. A large worker pool can still be limited by an external API or shared database.
Include payload size and signature work in receiver measurements, not only request count.
Estimate net catch-up rate
Compare incoming events with completed processing. If an illustrative backlog contains 30,000 events, new traffic arrives at 50 per second and workers complete 100 per second, the net drain rate is 50 per second. Catch-up takes about ten minutes before interruptions and retries.
Do not divide backlog by total worker throughput while ignoring new arrivals. That understates recovery time.
Use measured downstream limits to choose safe concurrency and preserve fairness across account scopes.
Account for duplicate work
Redeliveries should avoid repeating business effects, but they still consume verification, lookup and storage resources. Measure duplicate receipt rate and its cause.
An endpoint that often times out after durable acceptance can trigger avoidable retries. Fixing acknowledgement latency may reduce load more effectively than adding workers.
Keep deduplication retention aligned with the recovery model so old replays do not unexpectedly become new effects.
Bound retention and failed work
Store the payload or reference needed for recovery under a deliberate retention policy. Large dead-letter collections can become both a cost and data-exposure problem.
Assign owners to failed event categories and remove resolved temporary copies appropriately. Do not delete unresolved evidence solely to reduce storage without a recovery decision.
The capacity plan should preserve durable receipt and make predictable progress on outcomes. High request throughput is not useful if accepted events accumulate faster than the business processing path can complete them.
Primary sources
GitHub: webhook best practicesReferences checked 11 September 2026.