DATA OPS

Hourly dbt Source Freshness SLA Monitor

Runs dbt source freshness checks on a schedule and pages the data on-call only when a source breaches its SLA threshold, so stale upstream data is caught before models build on it.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerHourly schedule fires
  • ActionQuery Snowflake source load timestampsSnowflakeSnowflake
  • LogicClassify sources: healthy / warn / error vs SLA
  • ActionOpen PagerDuty incident for error breachesPagerDutyPagerDuty
  • OutputPost warning breaches to SlackSlack

What it does

Proactively guards against stale source tables. On a fixed cadence it evaluates the max-loaded-at timestamp of each registered dbt source against its warn and error thresholds, and escalates the breaches instead of waiting for a model to fail downstream.

When to use it

Use it when your warehouse depends on third-party loaders (Fivetran, custom syncs) that can silently stop. Catching a frozen source at the source level is far cheaper than debugging wrong numbers in a dashboard hours later.

How it works

  1. 1A schedule fires every hour.
  2. 2The flow queries Snowflake for the latest load timestamp of each source table and computes lag against its SLA.
  3. 3A logic step splits sources into healthy, warning, and error tiers.
  4. 4Error-tier breaches open a PagerDuty incident routed to the data on-call.
  5. 5Warning-tier breaches post to Slack so the team can watch without being paged.

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 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.