Scoring an error is arithmetic against your thresholds: events in the window, distinct users, how recent the release is, then one Linear issue and occasionally one Slack line. Codex is quick on concrete work of that shape and comfortable moving data between two APIs, which is most of what a triage run physically is. Speed counts when the error started 52 minutes ago on a release that is still rolling out.
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.
TypeError: Cannot read properties of undefined (reading 'total')
Triggeredat renderOrderSummary (app/checkout/OrderSummary.tsx:118), at renderWithHooks (react-dom.production.min.js), at commitRootImpl. 4,120 events from 1,830 users in 40 minutes, all on release 2026.8.3 which shipped 52 minutes ago, every browser, cart and checkout pages only.
Using this template drops you into a guided setup. It asks exactly this, nothing else:
Connect Sentry
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.
Severity rules
How you decide an error matters - the event and user counts, the time window, and how recent a release has to be for each level, plus what is severe enough to interrupt the channel.
Codebase context
What the services are and who owns which area - service names, the parts of the code they map to, and any known noisy errors you want scored down.
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.
Severity comes from numbers read out of Sentry and compared against your rules, which is the least ambiguous part of the job and the part this harness does briskly.
Reading events out of Sentry and filing a structured issue into Linear is plumbing with a fixed shape. Doing it the same way every time is what makes the ticket worth opening.
It runs on whatever your Sentry alert rule forwards, so the volume is a setting you control rather than a property of the agent. Firing on new issue groups instead of every event keeps a busy service to a handful of runs a day. Point it at one project for a day before widening it.
Free to start. Guided setup, a test run against staged conversations, and it's live.