Automatic retries with backoff
Transient failures are retried, spaced further apart each time — no thundering herd when a target recovers.
Retries & dead-letter queue
A target goes down and a dropped webhook costs you a transaction. EchoRelay retries automatically and holds what still fails in a queue you can replay — so you stop running that logic yourself.
Worked example
Your booking app confirms an appointment while your reminder service is unavailable. This example uses a fictional API and an asynchronous target with retries enabled for HTTP 503 responses.
{
"eventId": "evt_73",
"type": "appointment.confirmed",
"appointmentId": "APPT-9"
}
evt_73 to recognise a repeated event before sending a reminder.Choose the retryable response codes, attempt budget, and backoff for your target before publishing. A network failure can happen after a receiver has processed the event, so a retry can deliver it again. Check that the appointment still needs a reminder before replaying it.
This retry workflow applies to asynchronous delivery. Synchronous and streaming targets have no automatic retries.
Why EchoRelay
Transient failures are retried, spaced further apart each time — no thundering herd when a target recovers.
What can’t be delivered after the retry budget lands in a per-project DLQ. Inspect the payload, fix the target, and replay when you’re ready.
Send an idempotency key and a repeated submission is accepted once, not twice. Every failure stays visible in your dead-letter queue.
Questions
No credit card required.