The failure mode
Why nobody catches this today
Your monitoring stack watches things that happen. This failure is a thing that doesn't.
Providers disable endpoints silently. WooCommerce and Shopify auto-drop webhook subscriptions after repeated failures. Secrets rotate, DNS changes, a deploy eats a route, and the sender either retries into the void or simply stops. Uptime monitors can't see it: your endpoint is up; it's the traffic that died. Cron monitors watch jobs you run; nobody watches the deliveries you receive.
The teams that do catch it catch it late: a month-end reconciliation, a customer email, a dashboard that's been flat for a week.
Declare the rhythm
"invoice.paid arrives at least daily." Set it yourself, or let the vault propose it from the history it already holds. A grace window absorbs normal jitter.
The vault keeps score
Every capture feeds the watchdog. While webhooks arrive on cadence, it stays quiet; you'll see the green light, not hear from it.
Silence raises the flag
Miss the window and the light goes amber: an alert with the last-seen time, the expected cadence, and the capture history to debug against, because the vault kept everything up to the silence.
Built on the vault, not bolted on
This is why Watchdogs live here and not in a generic monitor: detection needs history. The vault already holds every delivery, so a new watchdog starts from that history, knows what "normal" looks like from day one, and hands you the actual requests either side of the gap when you investigate.
Starts from the history it already holds
A watchdog runs on the vault's own history: enable one and it already knows what normal looks like, because every capture that came before is on the shelf beneath it. No warm-up period, no blind first week.
- 3 watchdogs on Solo, 20 on Pro, 100 on Team
- Email alerts the moment a window is missed
- At-least-every-N intervals with grace windows
One panel, built from what actually arrives
Pick the endpoint, name the event and say how often it should arrive. The panel shows the payloads the endpoint already holds: click a value such as invoice.paid and it becomes the criterion, so the watchdog counts only the event you care about. Not sure of the rhythm? Propose from history reads the gaps between stored captures and suggests an interval and grace.
- Criteria on body, headers or query: equals, contains, exists and more
- All of these, or any of these
- A sender that is already late alerts straight away

the create panel, shown with sample Stripe events
Give every sender a watchdog.
Every capture feeds the alarm that guards it. Watchdogs start on Solo, from $5.
Sign up with GitHub, Google or email. Two-factor authentication is required on every account, Free included, for account security.