Automated Error Triage, Done Before Standup

Zero is an AI DevOps agent that automates daily error triage. Every morning, it pulls unresolved errors from Sentry and Axiom, deduplicates them across both sources, and files assigned GitHub issues with full stack traces before standup, saving engineers 20 to 30 minutes of manual review.

Zero connects:SentryAxiomGitHub

What Zero delivers: a daily error triage report

Explore a sample AI-generated error triage report with prioritized incidents, cross-source deduplication, assigned GitHub issues, severity, volume, and time saved. The data is illustrative; the report format is a real output Zero can generate from Sentry and Axiom.

Zero · Automation reportSample data

Agent summary

Zero inspected 17 raw errors from Sentry and Axiom, deduplicated them into 13 root causes, created 6 assigned GitHub issues, and routed 2 watch-only signals to #dev.

Raw errors inspected
1712 Sentry · 5 Axiom
Unique root causes
13after deduplication
GitHub issues created
6all assigned
Open the full daily error triage report

What is error triage?

Error triage, also called bug triage or incident triage, is the process of grouping, prioritizing, and assigning production errors so engineers know what to fix first. Zero acts as an AI SRE agent across Sentry, Axiom, and GitHub: it deduplicates errors, applies thresholds, attaches stack traces, and assigns code owners. The result is a consistent daily error triage automation with less alert fatigue.

Why manual error triage creates alert fatigue

Every morning, an engineer has to open Sentry, scan unresolved Sentry alerts, cross-check Axiom, identify what is new or duplicated, decide what is serious, open GitHub issues, and find the right owner. That repetitive first pass costs 20 to 30 minutes of focused engineering time and creates alert fatigue before real work starts. Zero runs at 8:45 AM and completes the same triage before anyone opens a laptop.

How Zero automates daily error triage

Step 1: Connect your tools

Sentry
Sentry
Required
Zero's Sentry integration queries unresolved production errors, stack traces, event counts, and environment tags.
Connect
GitHub
GitHub
Required
The Sentry GitHub integration files structured issues with full error details and assigns them to code owners.
Connect
Axiom
Axiom
Optional
Zero queries Axiom for error logs to cross-reference and deduplicate against Sentry findings. Optional but recommended.
Connect

Step 2: Ask Zero

@Zero every weekday at 8:45am, pull unresolved errors from Sentry and Axiom for the last 24 hours. Deduplicate across sources. For anything with 5+ occurrences, open a GitHub issue in vm0-ai/vm0 with the full stack trace and assign to the relevant code owner.
A sample run of the same workflow, step by step: fetch and rank Sentry issues, flag deploy regressions, render charts, publish the report, and post it to Slack.
Zero pulls unresolved errors from Sentry and Axiom
Zero queries both Sentry and Axiom for unresolved errors within the time window you set, then applies your occurrence threshold so low-signal noise is filtered out and only errors happening at scale come through.
Duplicate errors are merged across Sentry and Axiom
The same error often surfaces in both Sentry and Axiom with different formatting. Zero deduplicates them into a single record that combines data from both sources, so you triage each real problem once.
GitHub issues are filed and assigned to code owners
For each unique, qualifying error, Zero opens a structured GitHub issue with the full stack trace, occurrence count, and first- and last-seen timestamps, then assigns it to the engineer who owns that area of the code — the Sentry-to-GitHub handoff, automated end to end.

Step 3: Take it further

Adjust the threshold
Change the occurrence filter to cut noise or catch more issues.
@Zero update the daily triage schedule to only file issues for errors with 10+ occurrences. Anything below that, just post a summary to #dev.
Add it to your morning brief
Fold error triage into the product health briefing your team already reads.
@Zero include today's error triage output in the 9am product health brief you post to #standup.
Post-deploy safety check
Run triage right after a production deploy so regressions surface within minutes, not the next morning.
@Zero whenever a PR merges to main in vm0-ai/vm0, wait 15 minutes and then run a Sentry error check for new errors.

Sentry, GitHub, and Axiom integrations for error triage

This workflow is a Sentry GitHub integration with an agent in the middle: Zero reads from Sentry, cross-checks the same window in Axiom, and writes to GitHub. Each connector is granted separately and scoped to what the workflow actually uses, so read access to your error data never implies write access to your repositories.

Sentry

Sentry integration: the errors Zero reads

Required

Zero reads your Sentry error tracking through the Sentry issues API, querying unresolved errors in the environments you name, sorted by frequency. For each one it reads the title and culprit, the event count and number of users affected, the level, and the first- and last-seen timestamps, then pulls the latest event for the full stack trace and its release and environment tags. That covers what the triage decision needs: what broke, how often, where, and since when. In this workflow the Sentry integration is read-only. Zero never resolves, merges, or reassigns your Sentry issues, and the record it writes goes to GitHub instead.

GitHub

GitHub integration: the issues Zero files

Required

Every error that clears your threshold becomes a GitHub issue in the repository you point Zero at. The issue carries the error title, the stack trace, the occurrence and affected-user counts, the first- and last-seen timestamps, and a link back to the Sentry issue so the original data stays one click away. Zero applies the labels you specify and assigns the code owner for the files named in the stack trace. Write access is scoped to the repositories you grant, and issue creation is all it does: no commits, no pull requests, no repository settings.

Axiom

Axiom integration: the Axiom logs Zero cross-references

Optional

Axiom is optional and it earns its place on deduplication. If your log management already runs on Axiom, Zero reads it in the same pass: it runs an APL query against the datasets you choose, bounded to the same time window as the Sentry pull, and matches those Axiom logs against the error signatures it already has. That catches the case where one failure surfaces twice in different formats, and it adds the request-level context around the failure that a Sentry event alone does not carry. Without Axiom the workflow still runs end to end, and deduplication falls back to Sentry data only.

Zero vs. manual triage vs. Sentry alert rules

Daily error triage is the first layer of automated incident response. Teams automate Sentry to GitHub with Zero, completing the repetitive first pass before a problem needs broader AI incident management.

Manual triage

An engineer reviews Sentry and Axiom, identifies duplicates, decides severity, opens issues, and finds an owner. It is flexible, but repeats the same 20 to 30 minutes of work every morning.

Sentry alert rules

Rules notify the team when a threshold is crossed. They are useful for detection, but the team still has to correlate logs, deduplicate errors, create GitHub issues, and assign owners.

Zero's Sentry workflow automation

Zero runs the Sentry automation end to end: query, cross-source deduplication, thresholding, issue creation, stack-trace attachment, and code-owner assignment. On-demand and post-deploy runs use the same workflow.

Tips for better results

Set an occurrence threshold to keep the issue count manageable. 5+ is a good starting point; adjust based on your volume.
Scope Zero's query to production using Sentry environments or project tags, so staging errors never reach the triage queue.
Chain daily triage with post-deploy checks to turn a routine into lightweight automated incident response, and pair it with the 9:00 product health brief so the team sees errors and status in one place.

Frequently asked questions

How to triage Sentry errors and turn them into GitHub issues?

To automatically create GitHub issues from Sentry, connect Sentry and GitHub to Zero, then give it a schedule or an on-demand prompt. Zero queries unresolved errors, applies occurrence and environment filters, creates one issue per qualifying error, attaches the stack trace and timestamps, and assigns a code owner.

How to deduplicate errors across Sentry and Axiom?

Yes. Zero compares error signatures, stack traces, messages, and timing across Sentry and Axiom, then merges matching events into one triage record. Each underlying source remains linked for investigation.

How to reduce alert fatigue from error monitoring?

Limit triage to production, set an occurrence threshold, deduplicate the same error across tools, and route low-volume errors to a summary instead of creating an issue. This keeps the queue focused on errors that need action.

Can Zero run error triage after every deploy?

Yes. Create an automation that starts the error triage workflow after a deploy or merge to main, optionally waits for a short observation window, then checks Sentry for new production errors and files qualifying issues.

Which tools does the error triage automation need?

Sentry and GitHub are required: Sentry supplies the error data and GitHub receives the assigned issues. Axiom is optional, but it adds log context and improves cross-source deduplication.

What permissions does the Sentry GitHub integration need?

Sentry needs read access to issues and events in the projects you triage. GitHub needs issue-write access on the repositories that should receive the issues. Axiom, if you use it, needs query access to the datasets you name. You grant each connector separately in Zero, and revoking one leaves the others untouched.

Can Zero file issues in more than one GitHub repository?

Yes. Tell Zero which service or project maps to which repository and it routes each issue accordingly, so frontend errors land in your web repo and API errors in your backend repo. That mapping lives in the prompt, so you can change it without reconfiguring the GitHub connector.

Does Zero change anything in Sentry?

No. The Sentry integration is read-only here: Zero queries issues and events and writes nothing back. Your issue states, assignments, and resolution history stay exactly as your team left them. The only thing Zero creates is the GitHub issue.

Run your first Sentry triage

Connect Sentry, GitHub, and optionally Axiom. Use the same daily triage prompt to see the workflow in action without rebuilding it by hand.

@Zero every weekday at 8:45am, pull unresolved errors from Sentry and Axiom for the last 24 hours. Deduplicate across sources. For anything with 5+ occurrences, open a GitHub issue in vm0-ai/vm0 with the full stack trace and assign to the relevant code owner.