DATA OPS
Route low-confidence BigQuery attribution to a Notion review queue
Takes BigQuery jobs whose owning team could not be confidently inferred and files each one as a Notion review card with the principal, spend, and candidate teams.
How it runs
The automated pipeline, trigger to output.
- TriggerScheduled run after matcher writes attribution table
- ActionRead low-confidence attribution rows + spend from BigQueryBigQuery
- LogicGroup by principal and rank candidate teams
- ActionCreate/update one Notion review card per principalNotion
- OutputSend Slack digest of pending review cards and dollarsSlack
What it does
Collects the BigQuery query jobs that the heuristic matcher could not confidently attribute and turns each into a triageable Notion card with the principal, bytes billed, top candidate teams, and a one-click confirm field.
When to use it
Use it alongside automated backfill when you want a human to resolve the ambiguous tail instead of guessing. It gives FinOps a single queue rather than a spreadsheet of mystery query jobs.
How it works
- 1A scheduled run kicks off after the nightly matcher writes its attribution table.
- 2Read the attribution table for rows flagged below the confidence threshold, joined with spend.
- 3Group by principal so one noisy service account becomes a single card, not fifty.
- 4For each group, look up candidate teams from the owner table and rank them.
- 5Create or update a Notion card per principal with spend, candidate teams, and a status select.
- 6Post a digest to Slack with the count of new review cards and total dollars pending attribution.
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
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.
