Stage 7 · Master
Incident Response With AI
Stakeholder Comms
Turning technical detail into status-page and exec-ready updates.
Audience-Aware Communication
Different audiences need different information from the same incident. Engineers need technical details. Executives need business impact. Customers need impact and ETA. An AI assistant can generate audience-appropriate versions from a single source of truth.
| Audience | Focus | Detail Level |
|---|---|---|
| Engineers | Root cause, commands, metrics | High |
| Management | Business impact, timeline, ETA | Medium |
| Customers | What is affected, when it will be fixed | Low |
| Support team | Impact, workaround, ETA | Medium |
Status Page Updates
def generate_status_update(incident, audience="customer"):
"""Generate a status page update for customers."""
response = openai.ChatCompletion.create(
model="gpt-4",
temperature=0.2,
messages=[
{
"role": "system",
"content": """Write a status page update for customers.
Rules:
- No technical jargon
- Focus on what is affected and what we are doing
- Provide an estimated time to resolution if possible
- Be honest about what we know and do not know
- Keep it under 100 words"""
},
{
"role": "user",
"content": f"""Incident: {incident['title']}
Impact: {incident['impact_description']}
Current status: {incident['current_status']}
ETA: {incident.get('eta', 'Investigating')}
Services affected: {', '.join(incident['services'])}"""
}
]
)
return response["choices"][0]["message"]["content"]The generator strips technical detail and focuses on customer-relevant information.
Executive Briefings
def generate_exec_briefing(incident):
"""Generate an executive briefing."""
response = openai.ChatCompletion.create(
model="gpt-4",
temperature=0.1,
messages=[
{
"role": "system",
"content": """Write a brief executive update.
Format:
- One-line summary
- Business impact (revenue, users, SLA)
- Current severity and status
- ETA to resolution
- What we are doing to prevent recurrence
Keep it under 50 words. No technical details."""
},
{"role": "user", "content": format_incident_brief(incident)}
]
)
return response["choices"][0]["message"]["content"]Executives need the business impact and timeline. Technical details are distracting.
Customer Communications
- Acknowledge the issue quickly, even before you have full details.
- Be specific about what is affected — name the service or feature.
- Provide a workaround if one exists.
- Give an ETA, even if it is a range like 2 to 4 hours.
- Update regularly, even if there is no new information.
Automated Comms Pipeline
class IncidentComms:
def __init__(self, incident):
self.incident = incident
def update_all_audiences(self):
"""Generate and post updates for all audiences."""
# Status page
status_update = generate_status_update(self.incident, "customer")
post_status_page(status_update)
# Slack executive channel
exec_brief = generate_exec_briefing(self.incident)
post_slack("#exec-incidents", exec_brief)
# Support team
support_brief = generate_status_update(self.incident, "support")
post_slack("#support-escalation", support_brief)
# Email customers if P1
if self.incident["severity"] == "P1":
email = generate_customer_email(self.incident)
send_customer_email(email)A single function generates all audience-specific communications from the same incident data.
Maintain templates for common incident types. A database outage template is different from a latency degradation template. Customize templates over time based on what worked.
Mark this lesson complete to store local progress and unlock a cleaner resume path the next time you visit.