DATA OPS

BigQuery breaking-change alert to Slack on every diff run

Diffs BigQuery dataset schemas against a stored baseline on a schedule and posts a formatted Slack alert listing only the breaking field changes.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerScheduled diff run starts
  • ActionRead BigQuery table schemasGoogle BigQueryBigQuery
  • ActionFetch stored baselinePostgreSQLPostgres
  • LogicKeep breaking changes, drop additive
  • OutputPost grouped Slack breaking-change alertSlack
  • ActionUpdate baseline snapshotPostgreSQLPostgres

What it does

This workflow pulls the schema of every table in a set of BigQuery datasets, compares each field against the last known-good baseline, and isolates breaking changes: removed fields, type changes, and REPEATED/REQUIRED mode changes. It then posts a single tidy Slack message per run summarizing which tables drifted and how. Clean runs post nothing, so the channel stays quiet until something actually breaks.

When to use it

Use it when a data-platform team needs fast, human-readable notice of upstream BigQuery changes but doesn't want a ticket for every tweak. Slack-first triage works well for teams who decide together whether a change warrants a migration.

How it works

  1. 1A scheduled trigger starts the diff.
  2. 2It reads table schemas from BigQuery via the metadata API.
  3. 3It fetches the stored baseline from Postgres and computes per-field differences.
  4. 4A logic step filters out additive-only changes and keeps breaking ones.
  5. 5If breaking changes remain, it posts a grouped Slack alert with table, field, and old-to-new type.
  6. 6It updates the baseline so the next run compares against current state.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect BigQueryDatasets, queries, schemas.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  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.