DATA OPS
Stale Dashboard Register: Build a Notion Decommission Backlog
Scans BigQuery usage logs for dashboards unused in 90 days and creates a Notion database row per dashboard.
How it runs
The automated pipeline, trigger to output.
- TriggerMonthly schedule starts the run
- ActionQuery BigQuery for 90-day zero-view dashboardsBigQuery
- LogicCheck Notion for an existing register page per dashboardNotion
- ActionCreate or update the Notion page with owner + archive deadlineNotion
- OutputPost a summary of new additions to SlackSlack
What it does
Turns the abstract problem of dashboard sprawl into a concrete, owner-assigned backlog. It finds every dashboard with zero views in the trailing 90 days from BigQuery access logs, then materializes each one as a Notion database page tagged with the owner, last-viewed date, and a default archive-by deadline 14 days out. Existing rows are updated rather than duplicated.
When to use it
Use this when you want the decommission effort tracked in your team's existing Notion workspace rather than ephemeral Slack threads — so progress is visible in a board, owners have due dates, and managers can see what is overdue.
How it works
- 1A monthly schedule starts the run.
- 2BigQuery returns stale dashboards with owner, last-viewed timestamp, and view count.
- 3For each dashboard, the flow checks Notion for an existing register page.
- 4New stale dashboards become Notion pages with owner, deadline, and Pending status; already-tracked ones get their last-viewed field refreshed.
- 5A summary of new additions posts to the team's Slack channel.
Set it up
What you configure once, before turning it on.
- 1Connect BigQueryDatasets, queries, schemas.
- 2Connect NotionPages, databases, comments.
- 3Connect SlackChannels, DMs, threads, mentions.
- 4Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 5Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 6Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Data Ops workflows
BigQuery Per-Team Budget Breach Alert to PagerDuty
Tracks month-to-date BigQuery scheduled-query spend per team and, when a team crosses its monthly budget, pages the team's on-call in PagerDuty and snapshots the spend breakdown…
dbt orphan model detector with Linear cleanup tickets
Scans your dbt manifest for models that no other model, exposure, or BI tool consumes.
Weekly BigQuery Cost Trend Sheet and Exec Digest
Compiles week-over-week BigQuery scheduled-query cost by owner and dataset into a Google Sheet with trend columns.
Backfill Missing Owner Labels on BigQuery Scheduled Queries
Finds scheduled queries with no owner label, infers the likely owner from creator metadata and target-table lineage, proposes a label.
Daily BigQuery Scheduled-Query Cost Attribution to Owners
Each morning, totals the prior day's on-demand bytes-billed per scheduled query, maps each query to its owner from a label, and posts a per-owner cost leaderboard to Slack.
dbt source freshness watcher with severity-routed alerts
Checks Snowflake loaded-at timestamps against each dbt source's freshness SLA, then routes warnings to Slack and hard breaches to a PagerDuty incident so stale data never…
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
