DATA OPS

dbt Anomaly Recovery Auto-Close for PagerDuty and Linear

Re-checks tables that previously breached freshness or volume thresholds, and when a table has recovered it resolves the open PagerDuty incident, closes the Linear issue.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSchedule loop while incidents open
  • ActionRead open incidents and affected tablesPagerDutyPagerDuty
  • ActionRe-query current metrics from SnowflakeSnowflakeSnowflake
  • LogicSelect recovered vs still-breaching tables
  • ActionResolve incident and close Linear issueLinearLinear
  • OutputPost all-clear with time-to-recover to SlackSlack

What it does

Alerts are only half the loop — this workflow closes it. It reads the set of currently open freshness and volume incidents, re-queries Snowflake to see whether each affected table is now back inside its threshold, and for every recovered table it resolves the PagerDuty incident, transitions the linked Linear issue to done, and announces the recovery in Slack with the time-to-recover.

When to use it

Use it when stale incidents and zombie tickets erode trust in your alerting. Auto-resolution keeps PagerDuty and Linear honest, so an open incident always means a real, current problem.

How it works

  1. 1A schedule fires on a tight loop while incidents are open.
  2. 2Open incidents and their affected tables are read from PagerDuty.
  3. 3Snowflake is re-queried for current freshness and volume per table.
  4. 4A logic branch keeps still-breaching tables open and selects recovered ones.
  5. 5Recovered tables resolve their PagerDuty incident and close the Linear issue.
  6. 6A Slack all-clear posts each recovered table with its time-to-recover.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect SnowflakeWarehouses, queries, shares.
  2. 2
    Connect PagerDutyIncidents, on-call, escalations.
  3. 3
    Connect LinearIssues, projects, cycles, triage.
  4. 4
    Connect SlackChannels, DMs, threads, mentions.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.