What it is
A free triage desk for webhook deliveries that failed. It reads a plain log and turns it into a clear list of cases, causes and next steps.
Webhook failure triage
Paste the delivery log from Stripe, GitHub, Shopify or your own queue. Webhook Morgue tags every failure with its cause, tells you which ones are safe to replay and builds a replay plan with sensible wait times.
A free triage desk for webhook deliveries that failed. It reads a plain log and turns it into a clear list of cases, causes and next steps.
Developers and on call engineers who receive webhooks from payment, commerce or code platforms and need to decide quickly what to retry.
Blind retries. Replaying a 401 or a 410 only creates more failures, while a 500 or a timeout usually just needs a calm retry. This tool tells them apart.
One delivery per line. Use event, status and a note separated by a vertical bar, or paste JSON lines.
Example line: invoice.paid | 500 | upstream timeout | 14:02
Load the demo log to see a full autopsy with eight deliveries, or paste your own log.
The log is read in your browser. Nothing is uploaded.
Most 401 errors come from a signature that does not match. Paste the raw body, the signing secret and the signature header to see whether they agree.
Use a test secret. The check runs in your browser and the secret never leaves this page.
HMAC SHA 256 computed with the Web Crypto API in your browser.
What each failure usually means and what to do about it.
Replay with backoff. Make the handler answer within a few seconds and do slow work in a queue.
Replay with backoff once the receiver is healthy again. Check its error logs for this event.
Wait for the time the receiver asked for, then replay slowly.
Do not replay yet. Check the signing secret on both sides, then replay once.
Do not replay. Point the webhook to the new endpoint or remove the subscription.
Do not replay as is. Fix the handler or the schema, then replay once.
Receivers should not redirect. Update the webhook URL to the final address.
Nothing to do. This delivery arrived.
Copy failed deliveries from your provider dashboard or your own queue. Event name and status code are enough.
Every line becomes a tagged case with a cause of death and a clear next step.
Replay the safe cases on the suggested schedule, fix the rest first, then share the report with your team.
No. Parsing, the plan and the signature check all run in your browser.
Replaying a 401, 404 or 422 fails again in the same way and can trigger alerts or lockouts. Fix the cause first, then replay once.
A small random offset, called jitter, keeps many retries from hitting a recovering server at the same second.