DATA OPS

dbt Run Failure Triage to Linear with Compiled SQL

Catches failed dbt model builds from a webhook, extracts the failing node and its compiled SQL plus BigQuery error.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerwebhook
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • Triggerdbt run-results webhookHTTP webhook
  • LogicKeep error + fail nodes only
  • ActionRead compiled SQL artifactShell
  • ActionFetch BigQuery job error detailGoogle BigQueryBigQuery
  • ActionOpen Linear bug to model ownerLinearLinear
  • OutputReturn issue URL to CI callerHTTP webhook

What it does

Listens for dbt run-result webhooks from your scheduler (dbt Cloud, Airflow, or a CI runner). When a model fails to build, it pulls the failing node's compiled SQL and the raw BigQuery error message, then opens a Linear bug assigned to the model's owner with a reproducible snippet attached.

When to use it

Use it when dbt build failures get lost in CI logs and the owning engineer finds out hours later. Ideal for teams running scheduled dbt jobs who want every red model to become an actionable, owned ticket automatically.

How it works

  1. 1A webhook receives the dbt run-results payload after each job.
  2. 2A filter keeps only nodes whose status is `error` or `fail`.
  3. 3For each failed node, a shell step reads the compiled SQL from the `target/compiled` artifact path.
  4. 4It queries BigQuery's job history to fetch the exact error and bytes-scanned at failure.
  5. 5It opens a Linear bug to the dbt `meta.owner`, embedding the compiled SQL and BigQuery error.
  6. 6It returns the created issue URL to the webhook caller for CI annotation.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect HTTP webhookTrigger any URL on agent actions.
  2. 2
    Connect ShellRun sandboxed commands inside the workspace.
  3. 3
    Connect BigQueryDatasets, queries, schemas.
  4. 4
    Connect LinearIssues, projects, cycles, triage.
  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.