DATA OPS

Daily BigQuery Cost Attribution by Team Label to Slack

Every morning, queries BigQuery's INFORMATION_SCHEMA job history, attributes yesterday's slot/bytes cost to each team via job labels, and posts a ranked cost breakdown to Slack.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerWeekday 8am schedule
  • ActionQuery JOBS_BY_PROJECT grouped by team labelGoogle BigQueryBigQuery
  • LogicConvert bytes to dollars and rank teams
  • LogicFlag teams over daily threshold
  • OutputPost cost leaderboard to #data-costsSlack

What it does

Pulls the prior day's query jobs from BigQuery, groups bytes-billed and estimated dollar cost by the `team` label attached to each job, and delivers a ranked digest to a Slack channel so every squad sees what they spent before standup.

When to use it

When your data warehouse bill is a black box and finance keeps asking "who ran that?". Run it as a lightweight daily accountability nudge without standing up a full FinOps dashboard.

How it works

  1. 1A scheduled trigger fires each weekday at 8am.
  2. 2A BigQuery action queries `INFORMATION_SCHEMA.JOBS_BY_PROJECT` for jobs completed yesterday, summing `total_bytes_billed` grouped by the `team` label.
  3. 3A logic step converts bytes to dollars using your on-demand or flat-rate multiplier and sorts teams descending by spend.
  4. 4A logic step flags any team whose daily spend exceeds its threshold.
  5. 5A Slack action posts a formatted leaderboard, highlighting flagged teams, to the #data-costs channel.

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.