# Diagnose: alert rule never fires

## Step 1: does the issue match the filters?

Open an issue that should have triggered the alert and check it against every filter on the rule: project, environment, issue category, severity, tags. The environment filter is the most common miss: the rule watches `production` while the issue is tagged `prod` or has no environment set. One mismatched filter means silence.

## Step 2: did the trigger condition actually occur?

A rule set to fire on new issues does not fire on regressed or escalating ones, and vice versa. Check the rule's event triggers against what the issue actually did. Also check throttling: alert throttling suppresses repeat firings by design, so the first event fired and the rest were throttled. The alert's detail page shows run history; an empty run history means the rule never matched, a throttled history means it matched and was suppressed.

## Step 3: can the action deliver?

The action depends on an integration (Slack, Jira, webhook, PagerDuty). If the integration was disconnected, its token expired, or the channel was archived, the alert fires into the void. Test the integration independently of the rule.

## Step 4: permissions

Alert creation and editing is role-gated. If a Member created the rule while the org disabled member creation, the rule may exist in a broken state. Org-wide alerts (all projects) require Owner or Manager. Confirm the rule's owner role and that the toggle is actually on: rules get saved disabled more often than anyone admits.

## Verify

Trigger a test issue matching the filters exactly (same project, same environment string) and watch the alert's run history show the run and the action deliver. Then re-tighten any filter you loosened for testing.