Skip to content
Planekeeper is currently in alpha development. Features and APIs may change. Feedback is welcome!
Request early access to get started.

Notification Rules

Notification rules control the routing of alert events to channels. Each rule specifies which events and severity levels it matches, and optionally overrides the destination channel. Use notification rules to send critical alerts to PagerDuty, moderate alerts to Slack, and resolved notifications to a low-priority channel.

How routing works

When an alert event occurs (created, escalated, acknowledged, resolved), Planekeeper evaluates all active notification rules for the organization in priority order:

  1. Check the rule's severity filter against the alert's severity.
  2. Check the rule's event filter against the event type.
  3. If both match, create a delivery record for the rule's channel (or the default channel if no override is set).
  4. Deduplicate: if multiple rules route the same event to the same channel, only one delivery is created.

Event types

Event When it fires
alert.created A new alert is generated for the first time
alert.escalated An existing alert's severity increased (e.g., high to critical)
alert.acknowledged Someone acknowledged an active alert
alert.unacknowledged An acknowledgment was reset (version changed while acknowledged)
alert.resolved The alert was automatically resolved because the gap dropped below thresholds

Severity filtering

Each rule can filter by one or more severity levels: moderate, high, critical. Leave the filter empty to match all severities.

Examples:

Severity filter Matches
(empty) All alerts regardless of severity
critical Only critical alerts
high, critical High and critical alerts
moderate Only moderate alerts

Create a notification rule

  1. Navigate to Notification Rules in the sidebar.
  2. Click Create Rule.
  3. Fill in the form:

    Field Description
    Name A descriptive label, e.g., "Critical to PagerDuty"
    Event filter Select which event types this rule matches (leave empty for all)
    Severity filter Select which severity levels this rule matches (leave empty for all)
    Channel Optional. Override the destination channel. Leave blank to use the organization's default channel
    Priority Higher numbers are evaluated first
  4. Click Save.

Tip

Name rules after what they do: "Critical Alerts to PagerDuty", "All Events to Slack", "Resolved to Archive Channel". This makes the rules list self-documenting.

Priority and ordering

Rules are evaluated from highest priority to lowest. Every matching rule produces a delivery, so multiple rules can match the same event. Planekeeper deduplicates deliveries to the same channel -- an alert event is delivered to each channel at most once, even if multiple rules route to it.

Example priority setup:

Priority Rule Channel
100 Critical alerts PagerDuty
50 All alerts Slack
10 Resolved events Archive webhook

In this setup, a critical alert would be delivered to both PagerDuty (priority 100 match) and Slack (priority 50 match). A moderate alert would only go to Slack. A resolved event would go to both Slack and the archive webhook.

Channel override vs. default

Each rule can either specify a channel or rely on the organization's default channel.

  • With channel override: Deliveries go to the specified channel regardless of the default.
  • Without channel override: Deliveries go to whichever channel is set as the organization default.

Warning

If a rule has no channel override and no default channel is configured for the organization, the delivery is silently skipped. Always set a default channel as a safety net.

Toggle a rule on or off

Each notification rule has an active/inactive toggle. Click the toggle badge on the rules list to switch the state.

  • Active rules participate in routing decisions.
  • Inactive rules are skipped entirely. Events that would have matched are not routed through them.

Common routing patterns

Escalation-based routing

Route different severities to different channels:

  • Rule 1 (priority 100): severity = critical, channel = PagerDuty
  • Rule 2 (priority 50): severity = high, critical, channel = Ops Slack
  • Rule 3 (priority 10): severity = (all), channel = General Slack

Critical alerts reach all three channels. High alerts reach Ops Slack and General Slack. Moderate alerts reach only General Slack.

Event-type routing

Route specific lifecycle events to dedicated channels:

  • Rule 1: event = alert.created, alert.escalated, channel = Ops Slack
  • Rule 2: event = alert.resolved, channel = Changelog webhook
  • Rule 3: event = alert.acknowledged, channel = Audit log webhook

Catch-all rule

Create a single low-priority rule with no filters to ensure every event reaches at least one channel:

  • Rule: priority = 1, severity = (all), event = (all), channel = (default)

This acts as a safety net for any events not caught by more specific rules.

Bulk delete

Select multiple notification rules using the checkboxes on the list page, then click Delete Selected to remove them in a single operation. Use the checkbox in the table header to select all visible items.

Delete a notification rule

  1. Navigate to Notification Rules.
  2. Click the rule you want to remove.
  3. Click Delete.

Deleting a rule takes effect immediately. Future events that would have matched will no longer be routed through it.