DATA OPS
Block dbt merge requests that break a BigQuery source contract
On every dbt merge request, compare the columns each changed model selects against live BigQuery schemas and fail the MR check when a model references a column that no longer…
How it runs
The automated pipeline, trigger to output.
- TriggerGitLab merge-request webhookGitLab
- ActionFetch MR diff and changed dbt modelsGitLab
- ActionQuery live source columns from BigQueryBigQuery
- LogicFlag selected columns missing from live schema
- OutputSet MR check status and post inline commentGitLab
What it does
Acts as a pre-merge guard. When a developer opens or updates a dbt merge request in GitLab, this checks every model touched in that MR against the real BigQuery source schema and blocks the merge if a model selects a column that has been dropped or renamed upstream, posting the exact offending lines back as an MR comment.
When to use it
Use it when broken column references slip through review and only surface as runtime errors in the warehouse. It moves the failure left to the merge request, so reviewers see the problem before approving instead of debugging a red production run.
How it works
- 1A GitLab merge-request webhook fires when an MR is opened or pushed.
- 2The workflow fetches the diff and collects the set of dbt models changed in the MR.
- 3For each model it resolves the upstream source tables and selected columns.
- 4It queries BigQuery `INFORMATION_SCHEMA` for the live columns of those source tables.
- 5A logic step flags any selected column missing from the live schema.
- 6If violations exist it posts a failing check and an inline comment on the GitLab MR; otherwise it passes the check green.
Set it up
What you configure once, before turning it on.
- 1Connect GitLabRepos, MRs, pipelines, registry.
- 2Connect BigQueryDatasets, queries, schemas.
- 3Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 4Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 5Test, 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.
