Only confirmed gaps alert. Never a record still within its window, never a guess.
A confirmed gap: a source ping whose full expected window has passed with no matching destination ping. Optionally, a completeness flag can trigger its own separate alert rule too. Nothing else does. A record still within its window never alerts, even if it looks like it's taking a while. That's the entire point of having a window in the first place.
Alerts are also gated by flow status: learning flows never alert, regardless of what happens, and paused flows are skipped entirely.
@channel or @here, nothing that pages a whole team by accident.A rule connects a channel to either all flows or one specific flow, with a minimum threshold (for example, "alert after 2 or more confirmed gaps," so a single edge case doesn't page anyone). The same confirmed gap is never sent to the same channel twice, even across repeated checks, so a backlog of already-known problems doesn't spam a channel on every run.
Setting one up