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.
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
What does WebRun do on every run?
The exact actions WebRun takes, in order - in plain language, so you can adjust anything.
-
WebRun signs in and gets to work
Opens
console.cloud.google.com/bigqueryin a real browser with your saved login - no setup, no API keys. -
1
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.
-
2
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.
-
3
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.
How is each run configured?
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.
Every action is checked against this policy before it runs.
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.