
Webhooks are one of the most overlooked components when it comes to uptime monitoring. They're passive by nature — they sit quietly, waiting for events to arrive — which means when they break, nothing immediately complains. Data stops flowing, integrations silently fail, and you may not notice for hours or days.
Webhook monitoring is the practice of ensuring your webhook receiver endpoints are accessible, responding correctly, and actually processing incoming events.
Consider the consequences of a broken webhook endpoint:
Unlike a broken web page that users actively report, broken webhooks fail silently. The sender typically retries a few times, then gives up. You lose data and you don't know it.
Confirms your webhook receiver URL is accessible and returning the expected status code. This is standard HTTP uptime monitoring applied to a webhook endpoint.
A webhook receiver typically responds to GET requests with a 200 or 404 (since webhook data arrives via POST). More useful: confirm the endpoint responds to a POST request.
Configure your uptime monitor to:
{}This confirms the endpoint is reachable and your web server is routing the request correctly.
Confirms that webhook events from the sender (Stripe, GitHub, etc.) are actually arriving and being processed. This requires a different approach — you need to check that recent events have been received.
Options for delivery monitoring:
Your webhook receiver endpoint is just an HTTP endpoint — treat it like any other API endpoint for availability monitoring:
Monitor: https://yourdomain.com/webhooks/stripe
Method: POST
Body: {}
Expected status: 200 (or 400 if your receiver validates signatures)
Interval: 5 minutes
Note on signature validation: many webhook receivers validate a signature header before processing. If yours does, a POST from your monitor without a valid signature may return 400 or 401. You can:
GET /webhooks/health endpoint that returns 200 without requiring a signatureStripe provides a webhook log in the dashboard showing delivery attempts and success/failure status. Monitor your Stripe webhook endpoint's uptime AND regularly check the Stripe dashboard for failed deliveries.
For your Stripe webhook receiver, monitor the endpoint URL you configured in the Stripe dashboard.
Webhook delivery history is visible in your repository settings. Monitor the endpoint your CI/CD pipeline or integration tool uses. A failed GitHub webhook means deployments stop triggering automatically.
Twilio sends webhooks for incoming SMS and calls. Monitor your Twilio callback URL. A broken Twilio webhook means inbound messages and calls aren't handled by your application.
For critical webhooks where you must know data is being processed (not just that the endpoint is reachable), use the heartbeat pattern:
// In your webhook handler
app.post('/webhooks/stripe', async (req, res) => {
// Process the webhook...
await processStripeEvent(req.body);
// Ping heartbeat monitor
await fetch(process.env.STRIPE_HEARTBEAT_URL);
res.sendStatus(200);
});
If Stripe stops sending events (or your processing breaks), the heartbeat stops arriving and you get an alert. If your endpoint is down, you also get an uptime alert.
This two-layer approach catches both endpoint availability failures and data processing failures.
Webhook failures can have high business impact. Configure alerts with appropriate urgency:
Before adding monitoring, verify your endpoint is working correctly:
curl to POST test data to your endpointOnce you know the endpoint works manually, your monitoring setup provides ongoing verification.
Domain Monitor can monitor your webhook endpoints alongside your websites, APIs, and SSL certificates — giving you a single dashboard for your complete web infrastructure.
Monitor your webhook endpoints at Domain Monitor.
Generative AI creates new content — text, images, code, and more. This guide explains how it works, what tools are available, and where it's genuinely useful versus overhyped.
Read moreCursor AI is an AI-powered code editor built on VS Code. Learn what it does, how it works, and whether it's the right tool for your development workflow.
Read moreClaude Opus is Anthropic's most capable AI model, built for complex reasoning and demanding tasks. Learn what it does, how it compares, and when to use it.
Read moreLooking to monitor your website and domains? Join our platform and start today.