BigQuery charges by the byte scanned, so the cost question here is not the agent, it is what your six SELECTs touch. Each runs once each morning, with no retries and no exploratory queries, which makes the whole thing a number you can work out before you start. Codex is quick on defined work, and this work is defined by you down to the character.
Run a staged conversation — no account needed. The agent handles it for real while a simulated world answers its tool calls; nothing touches real accounts, and nothing is actually sent.
Morning metrics 12 August
All seven queries returned inside nine seconds. Daily active users came back at 41,208 against 39,940 yesterday, checkout conversion at 2.31 percent against 2.44, new paid signups at 186, and refunds at 12,340.55 BRL. The events query scanned 84 GB, in line with every other morning this month.
Using this template drops you into a guided setup. It asks exactly this, nothing else:
Connect Google BigQuery
One sign-in. The agent acts through your account, scoped to what this template uses.
Connect Slack
One sign-in. The agent acts through your account, scoped to what this template uses.
Metrics queries
The exact SELECT statements to run each morning, each with the name it should carry in the digest. Include the partition filter every table needs, because the agent adds nothing to what you write, and this list is the only SQL it will ever run.
Digest style
How the digest should read - which metric leads, what counts as an outlier worth flagging (checkout conversion under 2 percent, refunds above 5,000), and who to tag when a query fails.
Runs on Codex
Preselected for this page — connect your Codex account during setup, or switch to NoClick's built-in models with one click.
Watch it handle a test run
A staged conversation against a simulated world — then it’s live.
Six queries is six scans, the same six, every morning. There is no second attempt at a failure and nothing runs that is not on your list.
The agent adds nothing to your SQL, so the filter keeping a query cheap has to be in the statement you paste in. That is the difference between pennies and a surprise.
Point it at a project with a custom query quota set, which is the only real ceiling and it lives on your side rather than inside the agent. Beyond that, well partitioned queries against summary tables cost very little, and a query failing to compile is not billed at all. Since it never retries, a broken query costs one attempt rather than a loop.
Free to start. Guided setup, a test run against staged conversations, and it's live.