DATA OPS
Stale Snowflake Dashboard Sweep with Last-Viewer Slack Nudge
Weekly scans Snowflake access history for BI dashboards with no views in 90 days, then DMs each dashboard's last known viewer on Slack asking whether to keep or retire it.
How it runs
The automated pipeline, trigger to output.
- TriggerWeekly schedule fires the decay sweep
- ActionQuery Snowflake ACCESS_HISTORY for last-view per dashboardSnowflake
- LogicKeep only dashboards idle for 90+ days
- ActionResolve the last known viewer for each stale assetSnowflake
- OutputDM the last-viewer on Slack with Keep/Retire promptSlack
- ActionLog triage decisions to a Snowflake tracking tableSnowflake
What it does
Every week this workflow finds BI dashboards that have gone quiet — no one has opened them in 90 days — and routes a personal Slack nudge to the last person who looked at one, so the owner decides whether it still earns its place.
When to use it
Run this when your BI estate has sprawled and nobody knows which dashboards are actually used. It surfaces decay candidates without auto-deleting anything, putting the keep-or-kill call in front of the human who cared most recently.
How it works
- 1A weekly schedule fires the sweep.
- 2Snowflake `ACCESS_HISTORY` is queried for dashboard query tags and the max view timestamp per asset.
- 3A filter keeps only assets whose last view is older than 90 days.
- 4For each stale asset, Snowflake returns the user of the most recent prior view (the last-viewer).
- 5Slack sends that person a direct message naming the dashboard, its idle days, and Keep / Retire buttons.
- 6Responses are written back to a Snowflake tracking table so the next sweep skips assets already triaged.
Set it up
What you configure once, before turning it on.
- 1Connect SnowflakeWarehouses, queries, shares.
- 2Connect SlackChannels, DMs, threads, mentions.
- 3Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 4Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 5Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Data Ops workflows
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.
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.
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 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…
dbt orphan model detector with Linear cleanup tickets
Scans your dbt manifest for models that no other model, exposure, or BI tool consumes.
Raw Sensor Telemetry Archive to BigQuery
Captures every incoming building sensor reading via webhook, normalizes the payload into a consistent schema.
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.
