Uptime and heartbeats
Know whether the release held with availability checks.
Route monitor and heartbeat failures — and SSL certificate expiry — to the right chat channel or webhook with tag-based policies. The right people are paged, and no one drowns in all-or-nothing noise.
alert dispatch
firingoutbound only · one-way delivery
One connected loop, held on the stage this capability serves. The other stages stay as context so you can see what feeds in and what comes next.
Know whether it held.
Know whether the release held with availability checks.
Keep incident response and customer-facing status context together.
Review Lighthouse report evidence against configured targets.
Investigate test outcomes and flakiness evidence across runs.
How routing works
A failure never blasts everyone. Each policy decides what it listens for — all targets, or just the ones carrying your tags (AND or OR) — and which monitors, heartbeats, or both it scopes to. Every matching failure fans out to exactly the channels that policy binds, and nothing else.
The alerts roster shows each policy with its enabled state, its match summary, the targets it scopes to, and the channels it binds — so you can read who gets paged for what at a glance, and mute a policy without deleting it.
A policy matches all targets or a tag set (AND or OR across tags), scopes to monitors, heartbeats, or both, and every matching failure fans out to the channels that policy binds.
payments-oncall
tag_match · ANDmonitors + heartbeatsmatched targets → every bound channel
Tag-matching is how the noise stays down. The same failing workspace routed through a match-all firehose pages everyone; scoped to a tag set, the same event pages just the room that owns it. No all-or-nothing switch.
match: all
every target fires, everyone is paged
24/24 targets → #ops-firehose
match: tag_match tier-1
only tagged targets fire
6/24 targets → #payments-incidents
What the routing engine gives you
Four outbound channels, every failure condition worth a page, per-monitor overrides for the one noisy service, and a one-command connect flow. All of it one-way — lube sends, it never listens.
Connect Slack, Microsoft Teams, or Google Chat over OAuth and pick a channel, or point a generic webhook at your own endpoint. Delivery is one-way — lube sends, it does not listen. Discord routing is coming soon.
Monitors alert when they go down or degraded, heartbeats alert when a ping is missed or explicitly failed, and certificates alert before they expire.
Beyond policies, any monitor can carry its own channel assignment, so one noisy service can page a dedicated room without rewriting a policy.
Authorize a chat platform over OAuth, search its channels to bind the right one, or register a webhook by name, URL, and secret. From there every matching failure dispatches automatically.
Connect
OAuth: Slack / Teams / Chat
Find
search integration channels
Bind
to a policy or a monitor
Route
matched failures dispatch
Policies and channels are configured, not hardcoded. This is the full shipped surface behind the routing engine.
Outbound, by design
Slack, Microsoft Teams, and Google Chat are alert-delivery integrations, not two-way apps. lube sends notifications out to a channel or webhook; it does not run bots, read replies, or act on messages coming back. There is no PagerDuty, Opsgenie, or Datadog integration and no acknowledgement loop — routing ends when the message is delivered.
Connect a channel and tag a policy to start routing.