Automation rules
Turn a webhook from any outside system — monitoring, alerting, error tracking — into an issue.
Settings → Automation rules
Turns an inbound webhook from any external system (monitoring, alerting, error tracking — anything that can POST JSON) into a created or updated issue. Conditions read any field by dot-path against whatever JSON the tool sends. Owner/Admin only.
The webhook URL
One per org, shown above — copy it exactly as displayed rather than reconstructing it. Point every external tool at the same URL and add more rules underneath it; a new rule applies to the very next event, no new URL needed. Regenerating invalidates the old URL immediately.
How a rule evaluates
Every event is checked against every active rule in the org, not just one project.
- Conditions are AND-only — all must match. Need "OR"? Create two separate rules.
equals/containscompare the field's value as a string;existsignores the value and just checks the field is present.- Create a new issue — titled from a template with
{{field.path}}placeholders, attributed to the rule's Acting user as reporter. - Update an existing issue's priority — the only field it can change. It finds the issue via External reference.
Correlating create → update
External reference is how a later event finds an issue an earlier event created. On the create rule, whatever field you name (e.g. alert.id) is stored on the new issue. On the update rule, the same field name is read from that event and used to find it. If the two rules name different fields, the update will never find the issue.
Rule 1 (create): condition alert.status = firing → external ref: alert.id Rule 2 (update): condition alert.status = resolved → external ref: alert.id (same field!)
Monitoring adapters (CloudWatch, Azure Monitor, Sentry, PagerDuty, Datadog, Grafana, UptimeRobot/StatusCake)
Each adapter normalizes its vendor's payload into a flat object before any rule runs — so a rule's conditions must use the normalized field names listed in each tab below, not the raw vendor field names from the original payload.
Use the CloudWatch webhook URL shown above (the plain webhook URL won't unwrap the SNS envelope). In the SNS console, create a subscription on your alarm's topic with protocol HTTPS and this URL as the endpoint.
- SNS's subscription-confirmation handshake is confirmed automatically — nothing to click. It only auto-confirms genuine
sns.*.amazonaws.comhosts, so a spoofed confirmation request is rejected rather than followed. - Once confirmed, every alarm state change (raw or SNS-wrapped) reaches your rules.
- Requires the AWS CloudWatch Monitoring plan feature.
Normalized fields available to conditions:
alarmName,alarmArn— fromAlarmName/AlarmArnstate,previousState— e.g.ALARM,OK,INSUFFICIENT_DATA(fromNewStateValue/OldStateValue)reason,region,stateChangeTime
Known limitations
- A disabled rule is skipped before evaluation — it logs nothing, which looks identical to "the event never arrived."
- Update action changes priority only — not status, title, or assignee.
- No payload schema validation — anything with the URL can trigger rules with any JSON shape.