---
key: create-a-critical-alert-rule
title: Create a rule
audience: staff
section: critical-alerts
routes: ["/critical-alerts/rules", "/critical-alerts/rules/new"]
permissions: ["critical_alerts.rules.manage"]
features: ["critical_alerts.core"]
since: 0.0.1
updated: 0.0.1
status: published
summary: Tie a source to a matcher, severity, template and destinations, and choose how the incident behaves when signals repeat or someone acknowledges it.
keywords: [alert rule, matcher, severity, trigger, condition, who to notify, acknowledge, re-notify, auto resolve, alarm logic]
related: [add-escalation-steps-to-a-rule, add-a-critical-alert-destination, create-a-critical-alert-template, publish-a-critical-alert-draft]
---

In the sidebar, open **Critical Alerts**, then **Setup**, then **Rules**. The page address is `/critical-alerts/rules`.

A rule is the alert path itself: which source, which signals count, how severe, what to say, and who to tell.

## Before you start

- Your admin has to give your role permission to manage critical alert rules.
- Create the source, at least one destination and a template first. A rule can only pick from what exists.

## Steps

1. Press **New rule**. The **Create rule** drawer opens.
2. Type a **Name**. The **Key** fills in from it and cannot change later.
3. Choose the **Severity** for incidents this rule opens: **Critical**, **High**, **Warning**, **Info** or **Low**.
4. Choose the **Source** the rule listens to.
5. Choose the **Open template** (the message when an incident opens) and, if the device sends an all-clear, a **Clear template**.
6. Narrow which signals match. **Match event name** matches the exact event name the source sends; **Match signal type** picks open, clear, heartbeat or synthetic; **Match title contains** matches a word in the title. Leave all three blank to match every signal from the source.
7. Under **Destination keys**, choose who is told first.
8. Keep **Require acknowledgment** on when someone must claim the incident. **Ack link expiry minutes** sets how long the acknowledge link in a message stays valid.
9. Under **Incident lifecycle**, pick the **Lifecycle preset** that fits the condition (see below). Change the individual fields only when the preset is close but not right.
10. Press **Create rule**. The rule is saved as a draft.
11. On its row, press **Publish**. Only published rules act on live signals.

## Choosing a lifecycle preset

- **Persistent condition**: a freezer that stays too warm. Acknowledging keeps the incident open, Nova re-notifies every 5 minutes (up to 5 times) while it stays open, and it auto-resolves after 30 quiet minutes.
- **Momentary event**: a door left open once. Acknowledging resolves it, and the next signal opens a fresh incident.
- **Flapping / noisy sensor**: groups bursts into one incident, snoozes on acknowledge, and auto-resolves after a quiet period.
- **Compliance incident**: nothing closes it but a person pressing **Resolve**.

Behind the preset sit **Group matching signals**, **Grouping window minutes**, **On acknowledgment**, **Re-notify active incidents**, **Re-notify interval minutes**, **Maximum repeat notifications**, **Auto-resolve**, **Quiet minutes before auto-resolve** and **Default snooze minutes**, plus the switches **Re-notify after acknowledgment**, **Unlimited repeat notifications**, **Allow snooze**, **Voice: press 2 resolves** and **Voice: press 3 snoozes**.

> **Warning:** **Unlimited repeat notifications** removes the cap on repeat phone calls. Leave it off unless you mean it.

## What you see

- Each row shows the severity, what the rule matches, its destinations, a one-line lifecycle summary, and its version line.
- **Manage evaluation order** opens a drag list. Nova checks rules from the top, so put the most specific rule first.
- **Edit** reopens the drawer; **Version history** inside it lets you **Make live** an earlier version.

## If something looks different

- **Publish** is greyed out: there are no unpublished changes.
- Test signals reach the source but no incident opens: the rule is still a draft, or its match fields do not match what the device sends. Check the signal under **Signals**.
- You want a second person called when the first does not answer: see [[add-escalation-steps-to-a-rule]].

[[route:/critical-alerts/rules|Open Rules]]
