DATA OPS

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.

CategoryData Ops
Enginepaperclip
Difficultyadvanced
Triggerschedule
Steps5
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerWeekly schedule
  • ActionList scheduled queries missing an owner labelGoogle BigQueryBigQuery
  • LogicInfer likely owner from creator and table lineage
  • OutputPost owner proposal to Slack for approvalSlack
  • ActionApply confirmed owner label to scheduled queryGoogle BigQueryBigQuery

What it does

Cost attribution only works when every scheduled query carries an `owner` label. This template hunts down untagged scheduled queries, reasons over the query's creator, the dataset it writes to, and recent edit history to propose the most likely owner, and posts that proposal to Slack for a human to confirm or correct. On approval it writes the label back so future cost runs attribute cleanly.

When to use it

Use this when you inherit a BigQuery project with hundreds of legacy scheduled queries and attribution reports are full of "unknown." It clears the long tail of untagged queries with human-in-the-loop safety rather than guessing silently.

How it works

  1. 1A weekly schedule kicks off the agent.
  2. 2List scheduled queries via the Transfer Config API and find those missing an `owner` label.
  3. 3For each, the agent inspects creator, destination dataset, and lineage to infer a candidate owner.
  4. 4It posts a proposal card to Slack with approve/reject actions.
  5. 5On approval, apply the owner label to the scheduled query and log the change.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect BigQueryDatasets, queries, schemas.
  2. 2
    Connect SlackChannels, DMs, threads, mentions.
  3. 3
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  4. 4
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  5. 5
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.