DATA OPS

dbt Run Failure Owner Pager

Receives dbt run-result webhooks, identifies which models failed and who owns them, and pages the on-call data engineer through PagerDuty only when a model tagged critical breaks.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerwebhook
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • Triggerdbt run-results webhookHTTP webhook
  • LogicFilter to failed models
  • ActionLook up owner and criticality in PostgresPostgreSQLPostgres
  • LogicBranch on critical vs non-critical
  • ActionOpen PagerDuty incident for criticalPagerDutyPagerDuty
  • OutputPost non-critical failures to SlackSlack

What it does

Listens for dbt run-result payloads at the end of every orchestration run. It parses the per-model results, isolates failures, looks up each failed model's owner and criticality tag, and escalates to PagerDuty for critical-tagged failures while logging non-critical failures to Slack. The page includes the model name, error message, and the run URL.

When to use it

When your dbt jobs run on a schedule and a failed model can poison every dashboard built on it, but you don't want every flaky non-critical model waking up on-call. Use it to route severity correctly: critical breaks page, everything else gets a daytime ping.

How it works

  1. 1A webhook receives the dbt run-results payload when a run completes.
  2. 2A logic step filters the node results down to status = error or fail.
  3. 3The flow joins each failed model to its owner and criticality from a Postgres ownership table.
  4. 4A branch routes critical failures to PagerDuty as an incident and non-critical failures to a Slack channel.
  5. 5The PagerDuty incident carries the model name, compiled error, and direct run link for fast triage.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect HTTP webhookTrigger any URL on agent actions.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect PagerDutyIncidents, on-call, escalations.
  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.