AI compiles postmortem reports with root cause, timeline, and action items. Engineering reviews before distribution to protect sensitive details.
Postmortems get written but never reach the teams that need them most. Lessons learned sit in Notion or Google Docs, unread by the engineers who could prevent the next occurrence. When distribution does happen, it's inconsistent — some teams get the full report while others hear about it secondhand.
MultiMail's AI agent compiles incident data into clear postmortem summaries, identifies all affected teams, and drafts distribution emails with appropriate detail levels. Gated_send oversight ensures engineering reviews the content before distribution, protecting sensitive infrastructure details.
The AI agent gathers data from your incident management system — timeline, affected services, impact metrics, and root cause analysis — and organizes it into a structured postmortem format.
Using send_email, the agent composes a clear postmortem summary with incident timeline, root cause, impact assessment, and action items with owners and deadlines.
The agent determines which teams need the postmortem based on affected services, on-call rotations, and organizational structure. Different teams may receive different detail levels.
With gated_send, the postmortem draft enters an approval queue. Engineering leadership reviews for accuracy and ensures no sensitive vulnerability details are exposed to inappropriate audiences.
import requests
API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}
response = requests.post(
f"{API}/send",
headers=HEADERS,
json={
"from": "[email protected]",
"to": ["[email protected]"],
"subject": "Postmortem: 45-minute API outage on March 12 (action items inside)",
"text_body": (
"INCIDENT POSTMORTEM\n\n"
"Date: March 12, 2026, 14:00-14:45 UTC\n"
"Severity: P1\n"
"Duration: 45 minutes\n"
"Impact: >50% of API requests returned 5xx errors\n\n"
"Timeline:\n"
"14:00 - Deploy v2.4.1 to production\n"
"14:05 - Error rate exceeds 5% threshold\n"
"14:12 - On-call paged, investigation begins\n"
"14:30 - Root cause identified: connection pool exhaustion\n"
"14:45 - Rollback to v2.4.0 complete, traffic normal\n\n"
"Root Cause: New connection pooling config reduced max "
"connections from 100 to 10.\n\n"
"Action Items:\n"
"1. Add connection pool size to deployment checklist (Owner: Casey)\n"
"2. Add pool exhaustion alert (Owner: Pat, Due: March 19)\n"
"3. Load test config changes pre-deploy (Owner: Alex, Due: March 26)"
),
"html_body": "<h2>Incident Postmortem</h2><p>Date: March 12...</p>"
}
)
print(f"Postmortem queued for review: {response.json()[&"cm">#039;id']}")Send a compiled incident postmortem to affected teams via the MultiMail API.
import requests
API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}
"cm"># List pending postmortem emails
pending = requests.get(
f"{API}/mailboxes/incidents-mailbox-id/pending",
headers=HEADERS
).json()
for draft in pending["emails"]:
if "Postmortem" in draft["subject"]:
"cm"># Read full content for review
full = requests.get(
f"{API}/emails/{draft[&"cm">#039;id']}",
headers=HEADERS
).json()
print(f"Review: {full[&"cm">#039;subject']}")
print(f"Body: {full[&"cm">#039;text_body'][:200]}...")
# Approve after review
requests.post(
f"{API}/emails/{draft[&"cm">#039;id']}/decide",
headers=HEADERS,
json={"action": "approve"}
)Review pending postmortems and approve for distribution.
"cm">// Send postmortem to engineering team
const result = await mcp.send_email({
to: "[email protected]",
subject: "Postmortem: API outage March 12 (action items inside)",
text_body: "Incident summary: 45-minute outage caused by connection pool..."
});
"cm">// Tag for incident tracking
await mcp.tag_email({
email_id: result.id,
tags: ["postmortem", "P1", "api-outage", "march-2026"]
});
"cm">// Check pending approvals
const pending = await mcp.list_pending({
mailbox_id: "incidents-mailbox-id"
});
console.log(`${pending.emails.length} postmortems awaiting review`);Use MCP tools to distribute and tag incident postmortems.
Every postmortem reaches every affected team. No more relying on Slack threads or hoping someone shares the Google Doc link.
Gated send ensures engineering leadership reviews postmortem content before distribution. Vulnerability details and infrastructure specifics stay within appropriate audiences.
Postmortem emails include named action items with deadlines. The email record creates accountability and serves as a reference for follow-up.
Logged postmortem distribution provides audit evidence that incident learnings were communicated to relevant teams within required timeframes.
Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 38-tool MCP server. Formally verified in Lean 4.