Skip to content

Notification Rules ​

Rules define which events trigger notifications on which channels. They give you fine-grained control over what you get alerted about and where those alerts go.

How Rules Work ​

A notification rule connects event types to a single channel. When an event fires (e.g., an incident is created), Hoppla evaluates all notification rules. If a rule matches the event type (and optionally the monitor), the notification is sent to that rule's channel. To route one event to multiple channels, create one rule per channel.

Multiple rules can match the same event. If two rules both match an incident on the same monitor, notifications are sent to both channels (duplicates to the same channel are suppressed).

Creating a Rule ​

  1. Go to Settings > Notification Rules and click Add Rule.
  2. Select event types -- Choose one or more event types to match (e.g., "Incident Created", "SSL Expiring"). You can also select "All Events" to match everything.
  3. Select a channel -- Choose which notification channel should receive the alert. Each rule has exactly one channel; create one rule per channel to fan out to several.
  4. Filter by monitors (optional) -- Limit this rule to specific monitors or monitor tags. If left empty, the rule applies to all monitors.
  5. Set a minimum severity (optional) -- Only fire this rule at or above a chosen severity.
  6. Attach an escalation policy (optional) -- Escalate unacknowledged incidents through additional steps.
  7. Save the rule.

Event Filtering ​

You can subscribe to all events or pick specific ones. Some common setups:

  • All events to email -- A catch-all rule so nothing is missed.
  • Incidents only to Slack -- Real-time failure alerts in your team channel.
  • SSL and domain expiry to email -- Certificate and domain renewal reminders.
  • Server resources to PagerDuty -- Escalate infrastructure issues to on-call.

Warning Cleared follows the warning. A channel gets "Warning cleared" only for a warning it actually received. To hear when a redirect or slow-response warning is over, subscribe the rule to that warning as well as to Warning Cleared. A rule with Warning Cleared alone stays silent.

Monitor Filtering ​

By default, a rule applies to every monitor in your team. You can optionally restrict a rule to specific monitors. This is useful when you want different escalation paths for different services:

  • Production monitors route to PagerDuty for immediate on-call response.
  • Staging monitors route to a Slack channel for awareness.
  • Internal tools route to email only.

Tag Filtering ​

Instead of (or in addition to) picking individual monitors, you can restrict a rule by monitor tags. The rule then applies to any monitor carrying a matching tag, so newly added monitors are covered automatically as soon as they're tagged -- no need to edit the rule each time you add a service.

Severity Filter ​

Each rule can set a minimum severity so it only fires at or above that level. The available levels are Info, Warning, Minor, Major, and Critical. For example, set a rule to Major+ so PagerDuty is only paged for the most serious incidents, while a separate Info+ rule sends everything to a Slack channel.

Escalation Policy ​

A rule can attach an escalation policy. If an incident matched by the rule is not acknowledged in time, Hoppla escalates it through the policy's additional notification steps -- useful for guaranteeing that critical incidents reach someone on call. A policy step can page whoever is on call via an on-call schedule. Acknowledging the incident stops further escalation.

Examples ​

Common Notification Setups

Basic setup (small team):

  • One rule: All events to a shared Slack channel.
  • One rule: Incidents to the on-call person's email.

Production setup (larger team):

  • Rule 1: Incident Created + Incident Resolved to Slack #ops-alerts.
  • Rule 2: Incident Created for production monitors to PagerDuty.
  • Rule 3: SSL Expiring + Domain Expiring to email (billing team).
  • Rule 4: Server Resources to Slack #infra.
  • Rule 5: All events to a webhook for logging/archival.