Hey folks! We’re happy to announce that we’ve just released a huge update to the Webhooks feature in Watchman Monitoring. Here’s what’s changed:
Setting up an endpoint
- New “All events” firehose option. When you create an endpoint, it now defaults to receiving all events instead of making you hand-pick each one.
- Two-mode event selector. You choose between All events or Specific events, with validation so you can’t save a broken configuration, plus warning callouts (for Beacon-related events) when relevant.
- Refreshed event descriptions and a new transition reference explaining how status changes map to events, so it’s clearer what each event actually means.
What ends up in the payload
- Webhook payloads now include richer, more meaningful fields: severity, previous_severity, mute_type, is_muted, and is_hidden.
- Backward compatible — the old integer fields (status_code, previous_status, new_status) are still sent alongside the new ones, so existing integrations keep working without changes.
- Slack-formatted messages show both the legacy and the new fields.
Delivery behavior
- Smarter alert/warning triggers. The “Plugin alert” event (now labeled “Plugin alert / warning”) fires on more of the transitions users actually expect: entering Warning from OK or Informational, and entering Alert from OK, Informational, or Warning — so escalating from a warning to a full alert now sends an alert webhook, which it previously didn’t. It still won’t fire on de-escalations or a plugin’s first report. The underlying plugin_alert event type is unchanged, so existing integrations keep working.
- No more duplicate deliveries. Previously an event could match multiple subscriptions and fire more than once; now each endpoint resolves to a single prioritized event per trigger.
- Suppression-aware routing. The firehose (“all events”) subscription receives everything including suppressed events, while normal specific-event subscriptions respect suppression rules.
Testing and the Deliveries UI
- “Send test” now behaves like a real delivery. Test sends are recorded as actual delivery rows (flagged test: true) and go through the same worker/pipeline — so what you see in a test genuinely reflects production behavior. Test failures don’t count against your endpoint’s failure counters.
- Deliveries page gets Real / Test tabs, badges marking test rows, and a manual refresh button for pending deliveries so you can check status without a full page reload.
