First match wins

Policies run top to bottom, in order, and the first match applies. That's the whole model — same as Opsgenie's global and team alert policies, same idea as PagerDuty Event Orchestration. No hidden precedence, no cross-product rule engine. What you see in the list is what runs.

Each policy matches on things like priority, tags, service, and source, then takes one action:

ActionWhat it does
SuppressThe alert is created but never notifies. It stays searchable for postmortems — it just doesn't page anyone.
DelayHold notifications for N minutes. Flappy alerts that resolve themselves never wake anybody.
Auto-ackAck automatically on match. Useful for alerts that need a human eventually, but not at 3 a.m.
Auto-closeClose automatically. For synthetic checks in a known-bad window or alerts superseded by a parent.
Set priorityRewrite the priority — demote noisy P1s from a chatty integration to P3, or promote the ones that matter.
Add tagsStamp tags on match so downstream routing, saved searches, and reports slice cleanly.

Tenant-wide defaults, team-level tuning

Every policy is scoped to the tenant or to a single team. Set the org-wide baseline — suppress everything tagged staging, delay low-priority synthetics — then let teams add tighter rules for their own noise. Team policies live next to team alerts, not in some global config only the admins can read.

Dry-run before you trust it

The policy editor has a dry-run panel: paste a real alert payload, and OpsPing shows you exactly what each policy in the chain would do to it — which rule matched, what changed, what got suppressed. The whole chain, evaluated, before you save. No more "let's enable it and see who gets paged."

Drag to reorder

Order matters, so reordering is a first-class action: drag policies into place in the admin console. Move the exception above the catch-all and it just works — no export, edit, re-import dance.

Every action, audited

Every policy action is written to the audit trail: which policy matched, what it did, and when. When someone asks "why didn't I get paged for that?" the answer is a log entry, not an argument.

What's not there yet

Being straight with you: policies don't have time-based conditions (e.g. "only outside business hours") or payload enrichment (rewriting fields beyond priority and tags) yet. Both are on the near-term roadmap. If your Opsgenie or PagerDuty rules depend on schedules-in-conditions, tell us — it helps us prioritize.

Migrate your noise rules

If you're coming from Opsgenie, this maps to your global and team alert policies: ordered rules, first match, suppress/delay/priority/tags. If you're coming from PagerDuty, it's Event Orchestration parity for the actions teams actually use. Either way, the migration path is the same one that moves the rest of your tenant — see the migration guide. Recreating a noise-policy set is usually an afternoon, and the dry-run panel tells you when you've got it right.

Alert policies are included on every plan. See features and pricing, or read the docs.