DATA OPS
dbt orphan model detector with Linear cleanup tickets
Scans your dbt manifest for models that no other model, exposure, or BI tool consumes.
How it runs
The automated pipeline, trigger to output.
- TriggerWeekly schedule
- ActionFetch dbt manifest.json from GitLab repoGitLab
- LogicBuild DAG, flag models with no downstream consumers
- ActionQuery open Linear issues to dedupeLinear
- ActionCreate Linear cleanup ticket per new orphanLinear
- OutputPost orphan summary to SlackSlack
What it does
Parses the dbt `manifest.json` and walks the dependency graph to find models with zero downstream edges — no child models, no exposures, no metrics. These orphans usually cost warehouse spend without serving any dashboard or query. For each one it opens a Linear ticket tagged for cleanup, skipping models that already have an open ticket.
When to use it
Run it weekly to keep your dbt project from accumulating dead models after dashboards get retired or pipelines get refactored. Ideal for data platform teams who want deprecation work tracked instead of forgotten.
How it works
- 1A weekly schedule fires the run.
- 2Fetch the latest `manifest.json` artifact from the dbt repo in GitLab.
- 3Build the DAG and flag every model node whose downstream set is empty (excluding tagged seeds/snapshots).
- 4Query existing Linear issues to filter out orphans that already have an open cleanup ticket.
- 5Create one Linear ticket per new orphan with the model path, last-built time, and estimated monthly query cost.
- 6Post a summary count to the data-eng Slack channel.
Set it up
What you configure once, before turning it on.
- 1Connect GitLabRepos, MRs, pipelines, registry.
- 2Connect LinearIssues, projects, cycles, triage.
- 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
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…
Raw Sensor Telemetry Archive to BigQuery
Captures every incoming building sensor reading via webhook, normalizes the payload into a consistent schema.
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.
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.
