Sentry · Task agent
Junior
An open-source Slack agent built at Sentry that acts like an intern; takes tasks, retrieves context across many company systems, and is steered and reviewed by humans. Its CEO argues one general-purpose agent beat several vendor-specific bots.
1 Supports2 Supports3 Contextualizes
- Approach type
- Task agent
- Work
- Coding, Code review, Support, On-call
- Human involvement
- Human in loop
- Invocation
- Event driven, Interactive
- Interfaces
- Slack, Web, Github
- Deployment stage
- Deployed
- Evidence strength
- Detailed primary
- Entry reviewed
How it works
The workflow the sources report for this implementation.
searchMcpTools loads tools on demand instead of dumping every schema into the prompt
Credentials injected host-side; the sandbox/model never touches a secret
Survives serverless timeouts via a queue + claim model
Where people stay involved
- assigned task → human-steered and reviewed outputContinuous steering · Level 2
Level 2 for assigned task → human-steered and reviewed output; human attention boundary: continuous-steering.
- Observation date
- 2026
Implementation details
Vercel serverless functions; Vercel agent-browser sandbox with an on-path proxy for traffic interception; ephemeral containers
Custom harness on Pi's SDK; a task broker over Vercel Queues with an inbox -> worker-claim -> interrupt/resume pattern to survive serverless timeouts; 'skills-as-runbooks'
Claude Sonnet (faster); swappable (Opus as a more expensive option)
slack, web, github
Progressive discovery via MCP; by default Junior connects to no provider until the agent requests a tool lookup; plugins connect Sentry, GitHub, Linear, Notion
Conversation transcripts persisted in Redis; repo search to trace code paths; skill docs (TELEMETRY.md, SOUL.md)
On-path proxy injection; the model never sees the token because it is not in the sandbox; plugins declare OAuth flows and credential domains; GitHub distinguishes read vs. write
Incremental transcript updates in Redis; resource subscriptions to GitHub PR events for follow-ups
Reported results and limitations
The catalog records what the sources report, with the scope and the denominator of every figure. A qualification below limits the figure it sits under.
Reported metrics
Open-source (Apache-2.0) Slack agent (~100k lines of TS) used internally at Sentry
The source does not report the denominator of this figure.
- Reported by
- Sentry
- Scope
- Junior codebase size and license in the author report
Around 100,000 lines of TypeScript excluding tests, evals, docs, and lockfiles
The source does not report the denominator of this figure.
- Reported by
- Sentry
- Scope
- TypeScript lines in Junior excluding tests, evals, documentation, and lockfiles
4 months from start to writeup
The source does not report the denominator of this figure.
- Reported by
- Sentry
- Scope
- Author-reported development and iteration time before the writeup
Lessons and interpretation
One general-purpose agent connected to many company systems beats several vendor-specific bots
Skills-as-runbooks encode operational knowledge the agent can follow
Stateless compute fights you; serverless functions time out and disappear; model the agent around interrupt/resume
Unit tests are the wrong yardstick for agents; invest in evals and integration tests instead
Writes need per-user authorization, not blanket trust
Sources and research details
Citations link to the original publisher. Each source also keeps a preserved copy in the repository, so a changed or removed page stays checkable.
- Building an Intern (Junior at Sentry)https://cra.mr/building-an-intern/
- getsentry/junior source repositoryhttps://github.com/getsentry/junior
- Sentry Labshttps://labs.sentry.dev/
- getsentry/junior Apache 2.0 licensehttps://github.com/getsentry/junior/blob/main/LICENSE?plain=1
Research details for every claim on this page
- Summary
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- SupportsBuilding an Intern (Junior at Sentry)
- Supportsgetsentry/junior source repository
- ContextualizesSentry Labs
- Headline claim
- Statement type
- Metric
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- Reported by
- Sentry
- Scope
- Junior codebase size and license in the author report
- Denominator
- Not reported
- Method
- Not reported
- Observation date
- Not reported
- SupportsBuilding an Intern (Junior at Sentry)Preserved content.md, lines 10–24, 34–60
- Supportsgetsentry/junior Apache 2.0 licensePreserved content.md, lines 412–414
- Sandbox
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- Harness
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- Model
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- Interfaces
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- Tool access
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- Knowledge
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- Credentials
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- Context management
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- Supporting component
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- Supporting component
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- Supporting component
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- Key observation
- Statement type
- Metric
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- Reported by
- Sentry
- Scope
- TypeScript lines in Junior excluding tests, evals, documentation, and lockfiles
- Denominator
- Not reported
- Method
- Not reported
- Observation date
- Not reported
- SupportsBuilding an Intern (Junior at Sentry)Preserved content.md, lines 22
- Key observation
- Statement type
- Metric
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- Reported by
- Sentry
- Scope
- Author-reported development and iteration time before the writeup
- Denominator
- Not reported
- Method
- Not reported
- Observation date
- Not reported
- SupportsBuilding an Intern (Junior at Sentry)Preserved content.md, lines 10–22
- Lesson
- Statement type
- Inference
- Provenance
- Catalog judgment
- Confidence
- Medium
- Confidence reason
- The catalog derives this observation from the linked sources.
- Lesson
- Statement type
- Inference
- Provenance
- Catalog judgment
- Confidence
- Medium
- Confidence reason
- The catalog derives this observation from the linked sources.
- Lesson
- Statement type
- Inference
- Provenance
- Catalog judgment
- Confidence
- Medium
- Confidence reason
- The catalog derives this observation from the linked sources.
- Lesson
- Statement type
- Inference
- Provenance
- Catalog judgment
- Confidence
- Medium
- Confidence reason
- The catalog derives this observation from the linked sources.
- Lesson
- Statement type
- Inference
- Provenance
- Catalog judgment
- Confidence
- Medium
- Confidence reason
- The catalog derives this observation from the linked sources.
- Operating model assessment
- Statement type
- Inference
- Provenance
- Catalog judgment
- Confidence
- High
- Confidence reason
- The source explicitly describes humans steering and reviewing the agent throughout its work.
- Observation date
- 2026