DATA OPS
Backfill cost labels on untagged BigQuery jobs by heuristic owner-match
Scans recent BigQuery query jobs that ran without a team label, infers the owning team from the service-account or user email.
How it runs
The automated pipeline, trigger to output.
- TriggerNightly schedule (after billing export lands)
- ActionQuery untagged query jobs from INFORMATION_SCHEMA.JOBSBigQuery
- LogicMatch principal to team; compute confidence; drop low-confidence rows
- ActionUpsert attribution rows into BigQuery cost-attribution tableBigQuery
- OutputPost tagged/attributed/needs-review summary to SlackSlack
What it does
Finds completed BigQuery query jobs missing a `team` label, resolves the most likely owning team from the principal that ran each job, and records the attribution so downstream cost dashboards can roll spend up to a team.
When to use it
Run it nightly when a big slice of your BigQuery bill lands in an 'unattributed' bucket because analysts and pipelines forgot to set labels. It backfills the gap without forcing every job author to change their SQL today.
How it works
- 1A nightly schedule fires the run.
- 2Query `INFORMATION_SCHEMA.JOBS` for the prior day's query jobs where the `team` label is absent, pulling principal email, bytes billed, and job id.
- 3For each job, match the principal against an owner lookup table (email domain prefix, service-account naming convention) to derive a team and a confidence score.
- 4Branch: high-confidence matches proceed; low-confidence rows are skipped and collected for review.
- 5Write a small attribution table in BigQuery keyed by job id with the inferred team, confidence, and bytes billed.
- 6Post a summary of rows tagged, total bytes attributed, and the count needing manual review.
Set it up
What you configure once, before turning it on.
- 1Connect BigQueryDatasets, queries, schemas.
- 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.
