DATA OPS

BigQuery Contract Breach Pager for Breaking Drift

Watches BigQuery for breaking schema changes against the dbt contract and pages on-call via PagerDuty only when a column is dropped or retyped in a way that will fail the next…

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerFrequent schedule during ingest hours
  • ActionRead live BigQuery table schemasGoogle BigQueryBigQuery
  • LogicClassify diff: breaking (drop/retype) vs. non-breaking
  • ActionTrigger PagerDuty incident on breaking driftPagerDutyPagerDuty
  • OutputPost full diff and incident link to SlackSlack

What it does

This sentinel separates breaking drift from harmless drift. It diffs BigQuery table schemas against your dbt contracts and classifies each change: an added nullable column is informational, but a dropped column or a narrowing type change is breaking. Only breaking changes page the on-call engineer through PagerDuty, with a Slack message carrying the full diff so they can triage without logging into the warehouse.

When to use it

Reach for this when broken dbt builds are an incident-grade event, not a morning-ticket event, and you already run PagerDuty for on-call. It keeps the pager quiet for cosmetic schema additions while guaranteeing a human is woken for the changes that actually halt the pipeline.

How it works

  1. 1A frequent schedule polls BigQuery during active ingest hours.
  2. 2Read live table schemas via the BigQuery API.
  3. 3Load the matching dbt contract for each contracted model.
  4. 4Classify the diff into breaking vs. non-breaking changes.
  5. 5If a breaking change exists, trigger a PagerDuty incident scoped to the table owner.
  6. 6Post the full diff and incident link to the data Slack channel for shared context.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect BigQueryDatasets, queries, schemas.
  2. 2
    Connect PagerDutyIncidents, on-call, escalations.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    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.