Notification rules
A rule is one statement: when a resource matches these conditions, deliver to these destinations, or suppress it. Rules are ordered, and the first one that matches a resource claims it.
Prerequisites
At least one notification destination. A rule with the Deliver outcome cannot be saved without one.
Where rules live
| Surface | Scope |
|---|---|
| An insight’s Notification rules panel, on the insight detail page | That insight |
| Step 3, Alerting, of the policy wizard | The insight the policy produces |
| Settings > Organization > Insights | Every insight, for resources the insight’s own rules leave unmatched |
A policy and its insight share one list. Editing it from the policy wizard and editing it from the insight page change the same rules.
Create a rule
- Open the Notification rules panel and click Add rule.
- Give the rule a name. The name appears in the rules list, in the match preview, and in
{{ rule.name }}if your message uses it. - Add conditions. A rule with no conditions matches every resource — see Defaults.
- Choose an outcome:
- Deliver — send a notification to the selected destinations.
- Suppress — record the match and send nothing.
- For Deliver, select destinations. Each destination gets its own message content — see Message content.
- Drag the rule into position. Rules are evaluated top to bottom.
- Click Save rules.

Conditions
Conditions read attributes of the affected resource. A resource must match every condition on the rule, and within one condition it matches any of the values.
A rule with Environment: prod, staging and Cloud: aws matches an AWS resource in either environment, and nothing on GCP.

| Condition | Matches on |
|---|---|
| App | The apps a resource belongs to. Stored as app IDs, so renaming an app does not break the rule |
| Environment | The environments a resource belongs to |
| Owner | The resolved owner. A resource with no ownership row matches no owner condition and falls through |
| Account | Cloud account |
| Cloud | Cloud provider |
| Region | Cloud region |
| Resource type | For example aws_s3_bucket |
| Tag | One tag key and its values. env:prod as a tag and prod as an environment are separate conditions |
App, Environment, and Owner depend on the corresponding platform features being enabled for your organization. Where a field’s values are not scoped to the insight — Environment and Owner draw from the whole tenant — the value picker says so.
A resource can belong to several apps or environments at once, so those conditions match when any value overlaps.
Order and first match
Each resource is claimed by the first rule that matches it, so ordering is the routing logic. Put narrow rules above broad ones.
A rule ordered below an unconditional rule can never run. The rules list marks those rules as unreachable — move them up or give the rule above them conditions.
Defaults
A rule with no conditions matches everything. Each list holds at most one, pinned to the bottom of the list.
- Insight default — click Configure insight default in the pinned slot. Without one, the slot reads Inherited default: unmatched resources continue to the organization’s rules.
- Organization default — set it under Settings > Organization > Insights. Without one, no notification is sent about unmatched resources at all.
A default needs a destination before the list can be saved.
Suppress an exception
Suppress claims a resource and sends nothing, which is how you carve an exception out of a broader rule without editing that rule.
To stop notifying about one app’s resources while every other production finding still pages:
- Add a rule with
App: <YOUR_APP>and the Suppress outcome. - Order it above the rule that delivers production findings.
Suppress affects notifications, not the insight. The resources stay visible in Insights and still count as violations. To stop an insight from firing at all, use silencing instead.
Disable a rule
Toggle a rule to Disabled to skip it during evaluation while keeping it in the list. Rules below it then see the resources it would have claimed.
A disabled rule keeps the record of what it already notified about, so re-enabling it does not re-send everything it matched before.
Preview which resources a rule claims
Click See matching resources on a rule to project the list you are editing against the insight’s current resources. The preview accounts for the rules above — the count is what the rule claims after they take theirs.
If a rule is showing 0 matches, it typically means a rule above is claiming matching resources first.
Previews are only available where the list is scoped to an insight. The organization default list has no insight behind it and offers no preview.
Limits
| Limit | Value |
|---|---|
| Rules per list | 100 |
| Conditions per rule | 25 |
| Values per condition | 50 |
| Tag key length | 128 characters |
| Resources enumerated per insight | 50,000 |
If an insight exceeds the enumeration cap, its counts are a lower bound and the insight is skipped for that cycle rather than notified on a partial list.
Next steps
- Message content — write what each destination receives
- Webhook receivers — the payload schema and signature verification
Last updated on