Structure and package PostHog support escalations for engineering with full context, reproduction evidence, business impact, and clear asks. Use when the triage report recommends escalation or when evidence points to an upstream bug, data issue, or infrastructure problem.
Quantify before escalating — vague escalations get deprioritized.
| Dimension | What to determine |
|---|---|
| Breadth | Single user, single org, multiple orgs, or systemic? Growing? |
| Depth | Inconvenienced (workaround exists) or blocked (no path forward)? |
| Duration | When did it start? Correlates with a release or config change? |
| Revenue signal | Enterprise customer? Mentioned contract/renewal? Team size? |
| Data risk | Is data being lost, corrupted, or exposed? Recoverable? |
## ESCALATION: [One-line summary of the bug/issue]
**Severity:** [Critical / High / Medium]
**Product area:** [from agent's product area table]
**Affected repo:** [PostHog/posthog-js, PostHog/posthog, etc.]
**Date:** [today]
### Impact
- **Who:** [specific customer(s), segment, or "multiple orgs"]
- **What they can't do:** [blocked workflow]
- **Blast radius:** [single user / org-wide / systemic]
- **Workaround:** [exists — describe | none available]
### Evidence gathered
| # | Source | Finding |
|---|--------|---------|
| 1 | [HogQL query / PostHog MCP] | [what the data shows] |
| 2 | [docs-search] | [what docs say should happen] |
| 3 | [GitHub issue search] | [matching issues or "no match"] |
| 4 | [DeepWiki / Context7] | [relevant codebase context] |
### Reproduction
**Environment:**
- SDK: [name and version from $lib / $lib_version]
- Platform: [web / iOS / Android / backend]
- PostHog region: [US / EU / self-hosted]
**Steps:**
1. [Step — as specific as possible]
2. [Step]
3. [Step]
**Expected:** [what should happen]
**Actual:** [what happens instead]
**Reproducibility:** [always / intermittent / specific conditions]
### Known issue match
- **GitHub search terms used:** [list them]
- **Matching issues:** [URLs or "no match found"]
- **Related PRs:** [if any fix is in progress]
### What's needed
- [Specific ask: "investigate root cause", "confirm this is a known regression",
"prioritize fix for next release", "provide workaround guidance"]
### Customer communication status
- **Customer knows:** [what they've been told so far]
- **Customer expects:** [next update timing]
- **Churn risk:** [low / medium / high — based on signals in ticket]
| Issue type | Escalate to | PostHog context |
|---|---|---|
| SDK bug (JS, iOS, Android, etc.) | SDK team via GitHub issue | Tag with SDK name and version |
| Backend / ingestion | Pipeline / ingestion team | Include HogQL evidence of missing/malformed data |
| Feature flags / experiments | Feature flags team | Include flag definition + evaluation evidence |
| Session replay | Replay team | Include platform (web vs mobile), SDK version |
| Error tracking | Error tracking team | Include source map status, exception samples |
| Infrastructure / API | Platform team | Include error codes, timestamps, region |
| Security / data exposure | Security — immediate, bypass normal triage | Include what's exposed, who's affected |
Don't escalate and forget. The triage agent should recommend follow-up timing.
| Severity | Recommended follow-up | Customer update |
|---|---|---|
| Critical | Every 2-4 hours | Every 2-4 hours or per SLA |
| High | Every 4-8 hours | Daily |
| Medium | Daily | Every 2-3 business days |
An escalation can be closed or downgraded when:
When the triage report's escalation decision is "Escalate to engineering":