The shape here is copy, count and file. Take the exception class and message out of the run output exactly as Databricks wrote them, count what the recent runs show, then write one Linear issue carrying the error block, the counts and the dates. Codex is strong on exact structured data handling of that kind, and none of it asks for prose.
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.
nightly_revenue_rollup
Run 4471028 failed at 02:14 UTC after 6 minutes on task build_revenue_facts. Error: org.apache.spark.sql.AnalysisException: [UNRESOLVED_COLUMN.WITH_SUGGESTION] A column with name `order_total_usd` cannot be resolved. Did you mean one of: [order_total, currency_code]? Line 42, pos 8.
Using this template drops you into a guided setup. It asks exactly this, nothing else:
Connect Databricks
One sign-in. The agent acts through your account, scoped to what this template uses.
Connect Linear
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.
Runbook notes
What each job is for and what breaks when it does not run - which jobs are business critical, the tables and dashboards fed by them, who owns each one, and the jobs that are allowed to fail quietly overnight.
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.
A stack trace is evidence and a summary of one is a guess. Reproducing it correctly, truncation included, is where a fast and literal harness is the right instrument.
The job name and the exception class, with no suspected cause smuggled into it. That is what makes the issue findable the next time the same thing breaks.
In the model you connect and in the Linear issue it files, so treat that Linear team as the place your error text lives. It reads run output rather than your data, so rows never leave the platform, but a trace can carry schema names and a storage path. If that matters, file into a private team rather than a shared one.
Free to start. Guided setup, a test run against staged conversations, and it's live.