PostHog Exception Triage Agent

Files one Linear issue per exception with the events the user triggered just before it, a session recording link when PostHog captured one, and a queried count of how many people hit it.

0 in use6
Loading preview…
Guided setup — test it before connecting anything.

Watch it work before it's live

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: t.workspaceId is undefined

user_8841 (dana.okoro@brightsidehealth.io)web app, project Production

at resolveWorkspace (assets/index-4f2a91.js:1:88214), at WorkspaceSwitcher (assets/index-4f2a91.js:1:91002), at renderWithHooks. Thrown on /settings/members three minutes into the session, with flag new-workspace-switcher active.

Set up in minutes

Using this template drops you into a guided setup. It asks exactly this, nothing else:

  1. Connect PostHog

    One sign-in. The agent acts through your account, scoped to what this template uses.

  2. Connect Linear

    One sign-in. The agent acts through your account, scoped to what this template uses.

  3. Connect Slack

    One sign-in. The agent acts through your account, scoped to what this template uses.

  4. Triage rules

    How you decide an exception matters and where it goes - the person and occurrence counts for each severity, the window you count over, the Linear team that receives issues, and the exceptions you already know about and want left alone.

  5. Choose which agent runs it

    NoClick's built-in models work out of the box — or bring Claude Code, Codex, and other coding agents on your own subscription.

  6. Watch it handle a test run

    A staged conversation against a simulated world — then it’s live.

About this agent

An exception with a minified stack and nothing around it is a puzzle; the same exception with the four things the user clicked before it is a bug report. This agent reads the person's event trail, runs one query to find out whether this hit one person or nine hundred, attaches a session recording where PostHog captured one, and files a single Linear issue with all of it in a fixed order. Impact is a number that came back from a query, so nobody argues about it from the shape of the error message.

What people use it for

  • Reproduction steps for free - The events leading into the exception are the steps, in the order a real person did them, including the flags that were on for them. Engineers skip the part where they guess how anyone reached that screen.
  • One person or nine hundred - A query counts distinct persons and occurrences over your window, so severity is a figure written into the issue rather than an impression formed from the wording of the error.
  • Watch the bug happen - Where a recording covers that person at that moment, its link goes into the issue. Thirty seconds of replay settles arguments a stack trace leaves open all week.
  • Extension noise stays noise - Exceptions whose frames all belong to a browser extension or a third party script are reported with their counts and no theory attached, and your triage rules decide whether they are worth an issue at all.

Before you fork

We already have an error monitor. Why triage exceptions in PostHog?

Because the context lives here. PostHog knows the pages, the clicks and the flags around the exception, and often has a replay of it, which is the difference between a stack trace and a bug somebody can reproduce. If you run both tools, point this at the exceptions where nobody can work out what the user did.

Will customer data end up in Linear?

People are identified by their PostHog id, and the instructions keep emails, names and other personal fields out of the issue body. The event trail is pages and actions rather than form contents. If your events carry sensitive properties, name them in the triage rules and they stay out too.

How much extra PostHog querying does this add?

One person lookup, one short event list, one aggregate query and one recording check per exception the trigger sends, which is small next to normal ingestion. You decide how many exceptions reach the trigger in the first place. Rehearsing on the staged exceptions first shows you what a day of this looks like before you point it at everything.

Run it with your coding agent

More agents like this

Browse all agent templates →

Put PostHog Exception Triage Agent to work

Free to start. Guided setup, a test run against staged conversations, and it's live.