| name | gamma-incident-runbook |
| description | Incident response runbook for Gamma integration issues.
Use when experiencing production incidents, outages,
or need systematic troubleshooting procedures.
Trigger with phrases like "gamma incident", "gamma outage",
"gamma down", "gamma emergency", "gamma runbook".
|
| allowed-tools | Read, Write, Edit, Bash(curl:*), Grep |
| version | 1.0.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
Gamma Incident Runbook
Overview
Systematic procedures for responding to and resolving Gamma integration incidents.
Prerequisites
- Access to monitoring dashboards
- Access to application logs
- On-call responsibilities defined
- Communication channels established
Incident Severity Levels
| Level | Description | Response Time | Escalation |
|---|
| P1 | Complete outage, no presentations | < 15 min | Immediate |
| P2 | Degraded, slow or partial failures | < 30 min | 1 hour |
| P3 | Minor issues, workaround available | < 2 hours | 4 hours |
| P4 | Cosmetic or non-urgent | < 24 hours | None |
Quick Diagnostics
Step 1: Check Gamma Status
curl -s https://status.gamma.app/api/v2/status.json | jq '.status'
curl -s https://your-app.com/health/gamma | jq '.'
curl -w "\nTime: %{time_total}s\n" \
-H "Authorization: Bearer $GAMMA_API_KEY" \
https://api.gamma.app/v1/ping
Step 2: Review Key Metrics
curl -s 'http://prometheus:9090/api/v1/query?query=rate(gamma_requests_total{status=~"5.."}[5m])' | jq '.data.result'
curl -s 'http://prometheus:9090/api/v1/query?query=histogram_quantile(0.95,rate(gamma_request_duration_seconds_bucket[5m]))' | jq '.data.result'
curl -s 'http://prometheus:9090/api/v1/query?query=gamma_rate_limit_remaining' | jq '.data.result'
Step 3: Review Recent Logs
grep -i "gamma.*error" /var/log/app/gamma-*.log | tail -100
grep "429" /var/log/app/gamma-*.log | wc -l
grep -i "timeout" /var/log/app/gamma-*.log | tail -50
Incident Response Procedures
Scenario 1: API Returning 5xx Errors
Symptoms:
- High error rate in monitoring
- Users reporting failed presentations
- 500/502/503 responses from Gamma
Actions:
-
Verify Gamma status: https://status.gamma.app
-
If Gamma outage confirmed:
- Enable degraded mode / show maintenance message
- Monitor status page for updates
- No action needed on our side
-
If Gamma is operational:
grep "5[0-9][0-9]" /var/log/app/gamma-*.log | \
awk '{print $1}' | sort | uniq -c | sort -rn
grep -B5 "500" /var/log/app/gamma-*.log | grep "request"
-
Rollback recent deployments if issue correlates
Scenario 2: Rate Limit Exceeded (429)
Symptoms:
- 429 responses in logs
- Rate limit metrics at zero
- Slow or queued requests
Actions:
-
Immediate mitigation:
curl -X POST http://localhost:8080/admin/throttle \
-d '{"gamma": {"rps": 10}}'
-
Check for runaway processes:
grep "gamma" /var/log/app/*.log | \
awk '{print $5}' | sort | uniq -c | sort -rn | head -20
-
Enable circuit breaker:
curl -X POST http://localhost:8080/admin/circuit-breaker \
-d '{"service": "gamma", "state": "open"}'
-
Long-term: Review rate limit tier with Gamma
Scenario 3: High Latency
Symptoms:
- Slow presentation creation
- Timeouts in logs
- P95 latency > 10s
Actions:
-
Check Gamma latency vs our latency:
for i in {1..5}; do
curl -w "%{time_total}\n" -o /dev/null -s \
-H "Authorization: Bearer $GAMMA_API_KEY" \
https://api.gamma.app/v1/ping
done
-
If Gamma is slow:
- Increase timeouts temporarily
- Enable async mode for non-critical operations
- Queue heavy operations
-
If our infrastructure is slow:
- Check CPU/memory on app servers
- Review connection pool settings
- Check network connectivity
Scenario 4: Authentication Failures (401/403)
Symptoms:
- All requests failing with 401
- "Invalid API key" errors
- Sudden authentication failures
Actions:
-
Verify API key:
curl -H "Authorization: Bearer $GAMMA_API_KEY" \
https://api.gamma.app/v1/ping
echo $GAMMA_API_KEY | head -c 20
-
If key is invalid:
- Check if key was rotated
- Deploy backup key:
GAMMA_API_KEY_SECONDARY
- Generate new key in Gamma dashboard
-
Notify team and update secrets
Communication Templates
Internal Notification
INCIDENT: Gamma Integration Issue
Severity: P[X]
Status: Investigating / Identified / Mitigating / Resolved
Impact: [Description of user impact]
Start Time: [ISO timestamp]
Summary: [Brief description]
Current Actions:
- [Action 1]
- [Action 2]
Next Update: [Time]
User-Facing Message
We're currently experiencing issues with presentation generation.
Our team is actively working to resolve this.
Workaround: [If available]
Status updates: [Link to status page]
ETA: [If known]
Post-Incident Checklist
Resources
Next Steps
Proceed to gamma-data-handling for data management.