DATA OPS

BigQuery Table Freshness SLA Breach Monitor

Each morning it checks the last-modified timestamp of a set of tables that scheduled queries should have refreshed overnight.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerDaily after refresh window
  • ActionQuery table last-modified timesGoogle BigQueryBigQuery
  • LogicFlag tables past freshness SLA
  • OutputPost SLA breach report to SlackSlack
  • ActionPage owner for critical tablesPagerDutyPagerDuty

What it does

It enforces a freshness SLA on tables that scheduled queries are supposed to refresh. Instead of trusting that a job ran, it reads each target table's actual last-modified time and compares it against the maximum allowed staleness, catching jobs that silently no-opped, got disabled, or fell behind.

When to use it

Use it when downstream consumers depend on tables being current by a deadline (for example, a finance mart that must be refreshed before the 8am exec review). It catches the failure mode where a query reports success but writes nothing, which run-status checks miss.

How it works

  1. 1A daily schedule fires after the overnight refresh window closes.
  2. 2A BigQuery action queries `INFORMATION_SCHEMA` for the last modification time of each monitored table.
  3. 3A logic step computes staleness per table and selects any that exceed their configured SLA threshold.
  4. 4If any table is stale, a Slack output posts a breach report listing each table, its age, and its owner.
  5. 5For tables marked critical, a PagerDuty action raises a low-urgency incident so the owner is notified directly.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect BigQueryDatasets, queries, schemas.
  2. 2
    Connect SlackChannels, DMs, threads, mentions.
  3. 3
    Connect PagerDutyIncidents, on-call, escalations.
  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.