All templates

Automated dbt Source Freshness Checks

Every morning, WebRun signs in to dbt Cloud, reads the source freshness results for each environment, compares how old every source is against its warn and error thresholds even when the jobs all passed, posts the stale ones to Slack with their last loaded time, and drafts a Gmail note to the team that owns the pipeline.

Runs on WebRun · Strict Lockdown policy
Every day at 7:30 AM WebRunorchestrates each step
1 dbt Labs check source freshness
2 Slack post the stale sources
3 Gmail draft the note to the data owner
In short

How do I catch a stale data source before standup?

WebRun opens dbt Cloud every morning and checks how old each source is against its warn and error thresholds, even when every job passed. It posts the stale sources to Slack with their last loaded time and drafts a Gmail note to the owning team, left for you to send.

  • Stale sources are known before standup, not after a dashboard is presented
  • A green job over old data is called out instead of trusted
  • The note to the upstream team is written and waiting on one click

Built for analytics engineers · data teams · BI leads · data platform owners

Step by step

What does WebRun do on every run?

The exact actions WebRun takes, in order - in plain language, so you can adjust anything.

  1. WebRun signs in and gets to work

    Opens cloud.getdbt.com in a real browser with your saved login - no setup, no API keys.

  2. 1
    dbt Labs - check source freshness
    getdbt.com
    WebRun in dbt Labs: check source freshness
    WebRun opens dbt Labs to check source freshness.
    • Sign in to dbt Cloud and open the source freshness results for each environment you track
    • Read the last loaded time for every source and how it compares with its warn and error thresholds
    • List the sources in a warn or error state, and note how far past the threshold each one is
    • Check whether the jobs themselves passed, so a green run over stale data is called out explicitly
    • Compare against yesterday so a source that has been stale for several days is marked as ongoing

    Done when Every source has a freshness verdict and the stale ones are listed with their age.

  3. 2
    Slack - post the stale sources
    slack.com
    WebRun in Slack: post the stale sources
    WebRun opens Slack to post the stale sources.
    • Post the analytics channel this morning's stale sources before standup
    • Give each line the source, the environment, the last loaded time, and how far past the threshold it is
    • Separate the sources in error from the ones only in warn, so attention goes to the right place
    • Say nothing when every source is inside its threshold

    Done when The team knows before standup which sources are stale.

  4. 3
    Gmail - draft the note to the data owner
    gmail.com
    WebRun in Gmail: draft the note to the data owner
    WebRun opens Gmail to draft the note to the data owner.
    • Compose a Gmail note to the team that owns the upstream system for each source in error
    • State the source, the last successful load, and how long it has been stale
    • Leave every message as a draft. WebRun does not send it, so you check the detail and send it yourself

    Done when A Gmail note to each upstream owner is drafted and waiting.

Run settings

How is each run configured?

Starting pageWhere Chrome opens at the start of each run
cloud.getdbt.com
ScheduleRuns automatically on this cadence
Every day at 7:30 AM
DeliveryHow each run's result reaches you
Stale source alert · Slack
OutputWhat each run produces - Every source in a warn or error freshness state with its environment, last loaded time, how far past the threshold it is, and how many days it has been stale.
Text
Setup & safety

Secure by default

Connect once, stays signed in

WebRun signs in once and keeps each session in a persistent environment, so every run picks up right where it left off.

Your credentials stay in your own private environment - WebRun never stores your passwords.
Strict Lockdown

Every action is checked against this policy before it runs.

Domains ALLOWLIST
Typed input ALLOW
Shell command BLOCK
File uploads BLOCK
Runs in a contained environment More on policies
Good to know

Questions, answered

Will it email the upstream team without me?

No. Every note is left as a Gmail draft for you to review and send. WebRun never emails another team, a vendor, or a stakeholder on its own, so nothing goes out in your name unchecked.

Can it trigger or rerun a dbt job?

No. WebRun reads the freshness results and reports them. It never runs a job, changes a threshold, or edits a source definition, so nothing in your project is touched by the check.

Why check freshness when all my jobs passed?

Because a job can succeed on stale input. Source freshness compares each table's last loaded time against your warn and error thresholds, so a source that quietly stopped loading is caught even on a green run.

Put this on autopilot.

Turn it on in minutes - or have our team set it up for you.