DATA OPS
BigQuery Column-Drift Sentinel that Pauses Dependent dbt Pipelines
Snapshots the column list and types of your watched BigQuery tables on a schedule, and when a column is added, dropped, or retyped it disables the downstream dbt/scheduled…
How it runs
The automated pipeline, trigger to output.
- TriggerSchedule fires every 30 minutes
- ActionRead current column schema from BigQuery INFORMATION_SCHEMABigQuery
- ActionLoad last stored fingerprint from PostgresPostgres
- LogicDiff schemas; branch on drift detected
- ActionDisable affected scheduled queries in BigQueryBigQuery
- OutputPost column diff and paused jobs to SlackSlack
What it does
This sentinel keeps a fingerprint of every watched BigQuery table — column names, ordinal positions, and data types pulled from `INFORMATION_SCHEMA.COLUMNS`. On each run it compares the live schema against the stored fingerprint. If anything changed, it pauses the dependent pipelines before they can run against the broken contract and notifies the owners with an exact diff.
When to use it
Use it when upstream tables are owned by another team (product, finance) who can rename or drop columns without warning, and a silent drift would corrupt your transformed models or dashboards. It buys you a clean failure instead of bad data flowing downstream.
How it works
- 1A schedule fires (e.g. every 30 minutes).
- 2Query `INFORMATION_SCHEMA.COLUMNS` for each watched BigQuery dataset to capture the current schema fingerprint.
- 3Compare against the last stored fingerprint in Postgres; compute added/dropped/retyped columns.
- 4Branch: if no diff, store the fingerprint and exit; if drift is detected, continue.
- 5Disable the affected scheduled queries / dbt jobs in BigQuery so they stop running.
- 6Post a structured diff to the data team's Slack channel with the table, the change, and the paused jobs.
Set it up
What you configure once, before turning it on.
- 1Connect BigQueryDatasets, queries, schemas.
- 2Connect PostgresAny Postgres URL — query, write, migrate.
- 3Connect SlackChannels, DMs, threads, mentions.
- 4Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 5Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 6Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Data Ops workflows
BigQuery Per-Team Budget Breach Alert to PagerDuty
Tracks month-to-date BigQuery scheduled-query spend per team and, when a team crosses its monthly budget, pages the team's on-call in PagerDuty and snapshots the spend breakdown…
dbt orphan model detector with Linear cleanup tickets
Scans your dbt manifest for models that no other model, exposure, or BI tool consumes.
Weekly BigQuery Cost Trend Sheet and Exec Digest
Compiles week-over-week BigQuery scheduled-query cost by owner and dataset into a Google Sheet with trend columns.
Backfill Missing Owner Labels on BigQuery Scheduled Queries
Finds scheduled queries with no owner label, infers the likely owner from creator metadata and target-table lineage, proposes a label.
Daily BigQuery Scheduled-Query Cost Attribution to Owners
Each morning, totals the prior day's on-demand bytes-billed per scheduled query, maps each query to its owner from a label, and posts a per-owner cost leaderboard to Slack.
dbt source freshness watcher with severity-routed alerts
Checks Snowflake loaded-at timestamps against each dbt source's freshness SLA, then routes warnings to Slack and hard breaches to a PagerDuty incident so stale data never…
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
