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

Notification Rules

Configure notification routing rules to control which alert events go to which channels based on severity and event type.

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

EventWhen it fires
alert.createdA new alert is generated for the first time
alert.escalatedAn existing alert’s severity increased (e.g., high to critical)
alert.acknowledgedSomeone acknowledged an active alert
alert.unacknowledgedAn acknowledgment was reset (version changed while acknowledged)
alert.resolvedThe 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 filterMatches
(empty)All alerts regardless of severity
criticalOnly critical alerts
high, criticalHigh and critical alerts
moderateOnly moderate alerts

Create a notification rule

  1. Navigate to Notification Rules in the sidebar.

  2. Click Create Rule.

  3. Fill in the form:

    FieldDescription
    NameA descriptive label, e.g., “Critical to PagerDuty”
    Event filterSelect which event types this rule matches (leave empty for all)
    Severity filterSelect which severity levels this rule matches (leave empty for all)
    ChannelOptional. Override the destination channel. Leave blank to use the organization’s default channel
    PriorityHigher numbers are evaluated first
  4. Click Save.

success
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:

PriorityRuleChannel
100Critical alertsPagerDuty
50All alertsSlack
10Resolved eventsArchive 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.