DATA OPS

Warehouse Table Freshness SLA Watchdog with Upstream Lag Attribution

Compares each Snowflake table's actual landing time against its expected SLA, and when a table is late.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerEvery 15 minutes on schedule
  • ActionQuery Snowflake table landing timestampsSnowflakeSnowflake
  • LogicKeep tables past their SLA window
  • ActionTrace lineage to slowest upstream sourceSnowflakeSnowflake
  • OutputPage table owner with lag attributionPagerDutyPagerDuty

What it does

This watchdog checks whether your critical Snowflake tables landed on time. For every table that breached its freshness SLA, it traces back through the table's lineage to identify the slowest upstream dependency, then pages the owner with the lag attributed to a specific source rather than a vague "data is late" alert.

When to use it

Run it on a tight cadence (every 15-30 minutes) for the tables that feed executive dashboards, billing, or downstream exports. It is built for teams who get paged about stale data but waste the first 20 minutes figuring out which job in the chain actually stalled.

How it works

  1. 1A schedule fires on the watchdog interval.
  2. 2It queries Snowflake's table metadata for `last_altered` / max load timestamps on each monitored table.
  3. 3A logic step compares actual landing time to the expected SLA window and keeps only the breaches.
  4. 4For each breach, it queries the dependency graph in Snowflake to find the latest-landing upstream source.
  5. 5It opens a PagerDuty incident routed to the table owner, with the offending upstream source named in the summary.

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
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  4. 4
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  5. 5
    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.