Operating webhooks
Webhook integration services
Receiving webhooks is only half the job; keeping them flowing over months and years is the other. Endpoints go down for deployments, certificates expire, senders change event formats, secrets need rotating and occasionally an event simply never arrives. A webhook integration service should monitor deliveries, recover missed events, reconcile against the sender's API and leave clear instructions for whoever is on call when something goes wrong.
This page explains how webhook integrations are operated reliably.
Illustrative diagram
Webhook operations
- Monitor
- Delivery failures
- Queue age
- Recover
- Redelivery
- API catch-up
- Reconcile
- Scheduled comparison
- Exception list
- Maintain
- Secret rotation
- Certificate renewal
Why webhooks go missing
| Problem | Typical cause |
|---|---|
| Endpoint unreachable | Deployment, outage or network change |
| Certificate errors | Expired or misconfigured HTTPS certificate |
| Timeouts | Slow processing before acknowledging |
| Rejected deliveries | Signature check failing after a secret change or framework update |
| Unexpected payloads | Sender changed event versions or formats |
Recovering after an outage
Senders usually retry failed deliveries for a while; Stripe, for example, retries in live mode for up to three days with increasing gaps, and GitHub advises redelivering missed webhooks once your server is back. Retries do not cover every case, so after any significant outage, list the events the sender recorded during the period and confirm each was processed, redelivering or fetching from the API any that were missed. A written recovery procedure means this happens calmly rather than being improvised.
Record outages and recoveries, so recurring causes can be fixed.
Monitoring webhook health
Deliveries
- Failed deliveries reported by the sender
- Volume compared with normal levels
- Signature failures counted
Processing
- Queue length and age
- Processing errors by event type
- Items waiting for manual review
Endpoint
- Certificate expiry dates
- Response times
- Availability checks
Reconciliation as a safety net
Even with retries and monitoring, an event can occasionally be missed. A scheduled reconciliation, comparing a summary of your records with the sender's API for a recent period, catches these gaps: payments the sender recorded but you did not, orders with different statuses, records changed on one side only. Run it daily or weekly depending on how quickly differences matter, and send only the mismatches to a person for review.
Reconciliation also reveals bugs in processing logic that monitoring alone would miss.
Rotating secrets without downtime
Webhook signing secrets should be changed periodically and immediately if exposure is suspected. Stripe allows the old secret to remain valid for up to 24 hours during rotation, so your endpoint can be updated without rejecting genuine events. Plan rotations as a routine task, with a checklist, and confirm signature failures stay at zero afterwards.
A simple runbook
Detect
Alert on failed deliveries or signature errors.
Output: Problem noticed
Diagnose
Check endpoint health, certificates, secrets and logs.
Output: Cause found
Fix
Restore the endpoint or correct configuration.
Output: Deliveries resume
Recover
Redeliver or fetch missed events for the period.
Output: Records complete
Review
Record cause and prevention.
Output: Fewer repeats
Changes that can break webhooks
Deployments
New code or hosting changes the endpoint or alters the raw body.
Framework updates
Body parsing or security middleware rejects deliveries.
Sender versions
New event formats or types appear.
Domain or certificate changes
The sender can no longer connect securely.
Checks after every deployment
Many webhook failures start with an unrelated change: a framework update that alters how request bodies are read, a security setting that blocks unexpected requests, or a new hosting route. After each deployment, send a test event and confirm it is verified and processed, and watch delivery failures for the next hour. Including the webhook endpoint in automated deployment tests catches many of these issues before customers notice.
Stripe's documentation, for example, notes that frameworks applying cross-site request forgery checks may need the webhook route exempted.
Who looks after the webhooks
Agree who receives webhook alerts, who can access the sender's dashboard to check and redeliver events, and who owns the secrets. Keep this information in the runbook, and review access when people change roles or providers change.
Several senders
Businesses often receive webhooks from payments, ecommerce, forms and signature services. Keep a list of each sender, its endpoint, secret owner and recovery method, so nothing is forgotten when something changes.
Reporting on webhook health
A short monthly summary of delivery failures, recoveries, reconciliation mismatches and rotations keeps everyone aware of how the integration is performing and highlights recurring causes worth fixing.
Separate test endpoints
Keep test and live webhook endpoints and secrets separate, so test events never touch live records.
Questions about webhook integration services
Do senders retry failed webhooks?
Usually; Stripe retries live-mode events for up to three days with increasing gaps.
What happens after an outage?
Check the sender's event log for the period and redeliver or fetch anything missed.
What is reconciliation for webhooks?
Periodically comparing your records with the sender's API to catch missed events.
How often should secrets be rotated?
Periodically, and immediately if compromise is suspected; Stripe supports overlapping secrets during rotation.
What should be monitored?
Failed deliveries, volumes, signature failures, queue age and certificate expiry.
What is a runbook?
Written steps for on-call staff to diagnose and recover webhook problems.
Sources referenced
Platform features, guidance and rules change. We check the current versions before committing to an approach. This page is general information, not legal advice.
- Stripe: Receive Stripe events in your webhook endpoint (opens in a new tab) — reviewed 2026-10-23
- GitHub: Best practices for using webhooks (opens in a new tab) — reviewed 2026-10-23
Request a Custom Quote
Ask about Webhook integration services
Thank you — your enquiry has been sent.
We have received your message and will reply by email. If you need to add anything, email info@letgetgrow.com.