All templates

Automated BigQuery Table Freshness Checks

Every morning, WebRun opens BigQuery in the Google Cloud console, reads the last modified time and latest partition on every table your dashboards depend on, compares each against the refresh it should have had, records the readings in Notion, and sends a freshness report to WhatsApp before stand-up.

Runs on WebRun · Strict Lockdown policy
Every day at 8:00 AM WebRunorchestrates each step
1 BigQuery check table freshness
2 Notion record the readings
3 WhatsApp report before stand-up
In short

How do I check whether my BigQuery tables refreshed on time?

WebRun opens BigQuery every morning and reads the last modified time and latest partition on every table your dashboards depend on. It marks each fresh or stale against its expected refresh, records the reading in Notion, and sends the data team a WhatsApp report before stand-up.

  • Nobody presents numbers from yesterday's data by accident
  • Silent failures are caught where a job status says success
  • Every stale table names the dashboards that depend on it

Built for data analysts · analytics engineers · BI teams · data platform teams · operations reporting

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 console.cloud.google.com/bigquery in a real browser with your saved login - no setup, no API keys.

  2. 1
    BigQuery - check table freshness
    console.cloud.google.com
    WebRun in BigQuery: check table freshness
    WebRun opens BigQuery to check table freshness.
    • Open BigQuery in the Google Cloud console and go to each dataset your dashboards read from
    • For every table on the watch list, read the last modified time and the most recent partition
    • Compare each against the schedule that table should follow and mark it fresh or stale
    • Check the scheduled query behind a stale table and note whether it ran, ran late, or ran and wrote nothing

    Done when Every watched table has a fresh or stale verdict and stale ones have a reason attached.

  3. 2
    Notion - record the readings
    notion.so
    WebRun in Notion: record the readings
    WebRun opens Notion to record the readings.
    • Write one Notion row per table per day with the last modified time, the expected refresh and the verdict
    • Keep the history so a table that is late twice a week stands out from a one-off
    • Record the reason for each stale table: job did not run, ran late, or produced no rows
    • Tag each table with the dashboards and reports that read from it

    Done when Notion holds today's freshness reading for every watched table with its reason and dependants.

  4. 3
    WhatsApp - report before stand-up
    whatsapp.com
    WebRun in WhatsApp: report before stand-up
    WebRun opens WhatsApp to report before stand-up.
    • Send the data team's WhatsApp group the freshness report ahead of stand-up
    • Name each stale table, when it last landed and which dashboards it feeds
    • Say plainly when every table is fresh, so silence never has to be interpreted
    • Flag tables that have been late more than twice this week

    Done when The team knows before stand-up which tables are stale and what they feed.

Run settings

How is each run configured?

Starting pageWhere Chrome opens at the start of each run
console.cloud.google.com/bigquery
ScheduleRuns automatically on this cadence
Every day at 8:00 AM
DeliveryHow each run's result reaches you
Freshness report · WhatsApp
OutputWhat each run produces - A morning freshness verdict per table with its last modified time, the expected refresh, the reason it is stale and the dashboards it feeds.
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

Does it run queries or change my data?

No. WebRun reads table metadata such as last modified time and partition detail, plus the run history of scheduled queries. It never writes, deletes or reruns anything.

Why not just watch for failed jobs?

Because a job can report success and still write nothing. This checks whether the table actually moved, which catches the silent failures a job status misses.

Will it tell me when everything is fine?

Yes. It says plainly that all watched tables are fresh, so an absent message is never mistaken for a healthy morning.

Put this on autopilot.

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