SourCherry Help Centre
Home â€ș App marketplace â€ș Get Started w/ App Marketplace

Automated Webhook Retries

Automated Webhook Retries for SourCherry Marketplace apps guarantee that critical events reach your servers—even when you hit temporary rate limits—by retrying only HTTP 429 responses and adding randomized jitter. This guide shows Marketplace developers how the new system works and how to prepare your endpoints for flawless delivery. 

This is the Webhook Integration Guide.


TABLE OF CONTENTS


What is Marketplace Automated Webhook Retries?


SourCherry’s Marketplace now includes a built-in, intelligent retry mechanism for outbound webhooks. When your app’s endpoint responds with HTTP 429 (Too Many Requests), SourCherry will automatically re-send the same payload up to six times on a spaced-out schedule with randomized jitter. All other status codes (2xx success, 4xx/5xx errors) are treated as final, giving you predictable delivery behavior and preventing server overload.



Key Benefits of Marketplace Automated Webhook Retries



Retry Schedule


Every retry happens 10 minutes after the previous attempt, but each interval is randomized by a small, pseudo-random offset (jitter) to avoid synchronized traffic bursts. The system stops after six retries or any non-429 response, whichever comes first. Total possible retry window: approximately 1 hour 10 minutes.


Retry Schedule for Non-429 Failures


Non-429 webhook failures now follow an exponential backoff retry strategy instead of the fixed retry interval used for HTTP 429 responses.


For non-429 failures, retries can continue for up to 3 days. This helps improve delivery reliability when endpoints are temporarily unavailable, timing out, or returning intermittent server errors.


Retry Conditions


The retry logic is intentionally narrow so developers always know what to expect.



Retry Conditions for HTTP 429 vs Other Failures


Retry behavior now depends on the type of failure returned by the webhook endpoint.



This improves reliability for failures beyond rate limiting while preserving the existing handling for 429 responses.


Jitter Protection


Randomized jitter (± N seconds) is applied to each 10-minute interval. This tiny variation ensures that if multiple events were throttled at once, their retries won’t all fire in the same instant—dramatically reducing the risk of cascading rate-limit hits across your fleet. 


How to use it as a Developer?


Here’s how you can make the most of this system:


✅ Return 200 OK for successful deliveries.

✅ Even if processing fails internally, still return 200 OK to acknowledge receipt:

❌ Only use error codes when absolutely necessary:



What Developers Should Expect


No setup changes are required for developers already using externally shared Marketplace webhooks.


With this enhancement:


This gives developers a longer recovery window when webhook endpoints are temporarily unstable or unavailable.



Understanding when to acknowledge or throttle requests is critical:



Frequently Asked Questions


Q: Will SourCherry deduplicate events across retries?

Yes. Each webhook attempt uses the same deliveryId header so you can safely ignore duplicates.



Q: Can I customise the retry interval or number of attempts?

Not at this time. The 10-minute / 6-attempt schedule is global.



Q: Do retries respect my API’s existing rate limits?

Yes—jitter plus the 10-minute delay minimizes bursts, but you should still budget for up to six additional calls per event.



Q: What happens if my endpoint returns 404 or 400?

SourCherry treats non-429 responses as final; no further retries occur.



Q: How do I test this in a staging environment?

Return a mock 429 response from your staging endpoint and confirm SourCherry re-sends the payload six times over ~70 minutes.



Q: Does this affect Workflow “Inbound Webhook” triggers?

No. Automated retries apply only to Marketplace app webhooks sent from SourCherry to your external server.



Q: Where can I see historical delivery logs?

The Webhook Dashboard (coming soon) will expose per-attempt logs; until then, rely on your own server logs.



Q: Is there a size limit for payloads?

Yes—Marketplace webhooks are capped at 256 KB. Larger payloads are truncated with a payloadTooLarge flag.



Q: How do I opt-out?

Retry logic is built-in and cannot be disabled per app. Design your endpoint to handle idempotency.



Q: Will SourCherry ever retry 5xx errors?

No—5xx responses represent an internal server error; SourCherry stops immediately so you can investigate without extra load.