DATA OPS

Snowflake Freshness SLA Watchdog: Page Owner and Pause Downstream dbt

Checks a Snowflake table's last-loaded timestamp on a schedule and, if it exceeds its freshness window, pages the on-call owner, pauses the downstream dbt job, and logs the breach.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerEvery 15 minutes
  • ActionQuery table max load timestamp + row countSnowflakeSnowflake
  • LogicStaleness exceeds SLA window?
  • ActionPage data on-callPagerDutyPagerDuty
  • ActionPause downstream dbt Cloud jobHTTP webhook
  • OutputLog breach to audit tableSnowflakeSnowflake

What it does

Watches a critical Snowflake table's load recency against a defined SLA window. When the table goes stale, it escalates to the data on-call via PagerDuty, halts the dependent dbt transformation so bad or missing data never propagates, and records the breach for the SLA report.

When to use it

Use it on tables that feed dashboards or reverse-ETL where serving stale rows is worse than serving none — a revenue rollup, a daily active users mart, or any source other models depend on.

How it works

  1. 1A schedule fires every 15 minutes.
  2. 2Query Snowflake for the table's MAX load timestamp and row count for the latest partition.
  3. 3Logic compares the gap against the SLA window (e.g., 90 minutes); if within window, the run ends quietly.
  4. 4On breach, trigger a PagerDuty incident routed to the data on-call with the table name and staleness age.
  5. 5Pause the downstream dbt Cloud job via its HTTP API so no model builds on stale input.
  6. 6Append a breach record (table, expected vs actual, age) to a Snowflake audit table for the monthly SLA review.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect SnowflakeWarehouses, queries, shares.
  2. 2
    Connect PagerDutyIncidents, on-call, escalations.
  3. 3
    Connect HTTP webhookTrigger any URL on agent actions.
  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.