协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
intercom-incident-runbook【开发与工程】Execute Intercom incident response procedures with triage, mitigation, and postmortem. Use when responding to Intercom API outages, investigating integration errors, or running post-incident reviews for Intercom failures. Trigger with phrases like "intercom incident", "intercom outage", "intercom down", "intercom on-call", "intercom emergency", "in…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: intercom-incident-runbook description: | Execute Intercom incident response procedures with triage, mitigation, and postmortem.
Use when responding to Intercom API outages, investigating integration errors, or running post-incident reviews for Intercom failures.
Trigger with phrases like "intercom incident", "intercom outage", "intercom down", "intercom on-call", "intercom emergency", "intercom broken". allowed-tools: Bash(curl:), Bash(kubectl:) version: 1.6.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
Rapid incident response procedures for Intercom integration failures. The runbook
takes you from alert to resolution in four phases — triage, decision, mitigation,
and postmortem — with HTTP-status-code-driven branching so you always know whether
the fault is yours or Intercom's. High-level workflow lives here; the full
copy-paste scripts and templates live in references/.
INTERCOM_ACCESS_TOKEN exported in your shell (a workspace admin token).curl and jq installed for API + status-page probing.kubectl access to the deployment running your Intercom integration (for restarts).| Level | Definition | Response Time | Example |
|---|---|---|---|
| P1 | All Intercom API calls failing | < 15 min | 401 auth failures, API unreachable |
| P2 | Degraded service | < 1 hour | High latency, rate limited (429) |
| P3 | Partial impact | < 4 hours | Webhook delays, search timeouts |
| P4 | No user impact | Next business day | Monitoring gaps, stale cache |
Work the phases in order. Each phase links to the full reference when you need depth.
Assign severity. Match the symptom to the table above; this sets your clock and who you page.
Triage — is it you or Intercom? Run the first probe to confirm reachability:
curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer $INTERCOM_ACCESS_TOKEN" \
https://api.intercom.io/me
Then check status.intercom.com for a platform incident and read the rate-limit
headers. The full 5-step diagnostic script and the branch-by-branch decision tree
are in references/triage.md.
Decide. If Intercom reports an incident, it is their problem — enable graceful degradation and monitor. If not, it is your integration; branch on the status code: 401 → rotate token, 403 → add OAuth scope, 429 → queue/backoff, 5xx → retry with backoff.
Mitigate by error type. Apply the matching remediation — token rotation for 401,
volume reduction for 429, cached-data fallback for 5xx. Full commands (including the
aws secretsmanager rotation and the kubectl rollout restart) plus the TypeScript
graceful-degradation pattern are in references/mitigation.md.
Communicate. Post the internal Slack status update on a fixed cadence using the template in references/templates.md.
Write the postmortem. After resolution, fill in the postmortem template
(timeline, root cause, impact counts, action items) from
references/templates.md. Always record Intercom
request_ids captured during the incident — Intercom support needs them.
Working through the runbook produces:
request_ids, and owned action items.Fast triage during a suspected outage — confirm reachability, then check the platform:
curl -s -o /dev/null -w "API=%{http_code}\n" \
-H "Authorization: Bearer $INTERCOM_ACCESS_TOKEN" https://api.intercom.io/me
curl -s https://status.intercom.com/api/v2/status.json | jq -r '.status.description'
A 401 with a green status page means your token, not Intercom — jump to the 401
mitigation. The full 5-step diagnostic, the decision tree, per-status mitigation
commands, and the Slack/postmortem templates are all in references/:
| Issue | Cause | Solution |
|---|---|---|
| Triage script fails | Token not set | Export INTERCOM_ACCESS_TOKEN |
| Status page unreachable | DNS/network | Try mobile network or VPN |
| Can't rotate token | No Developer Hub access | Escalate to workspace admin |
| Cache empty during outage | No pre-warming | Implement cache warming job |
For data handling compliance, see intercom-data-handling.