The client-facing incident summary I'd send after an outage, and the house rules the second one has to keep - DEV Community

DEV Community

Maildoer Team
Maildoer Team

Posted on

The client-facing incident summary I'd send after an outage, and the house rules the second one has to keep

Most incident write-ups are written for engineers: a timeline, a root cause, a list of tickets. The person who actually reads the email after a client's checkout was down for 40 minutes is usually not an engineer. It's an operations manager who has to explain it to their boss before lunch.

This post is the template I'd use for that email, plus the part that usually goes wrong: the second incident, weeks later, when nobody remembers what the client asked for the first time. (Disclosure: I build Maildoer, an email-based assistant, and I'll mention where it fits once near the end. The template works without it.)

The scenario below is a labelled hypothetical, not a customer story.

Say you're the on-call developer at a small agency

You maintain an online shop for a client in Germany. On a Tuesday evening, payments fail for a while. You fix it, and your notes look like this:

19:02 alerts: checkout 5xx
19:10 payment webhook timing out, provider status page green
19:24 rolled back yesterday's deploy, errors continue
19:31 found expired credential for webhook signing
19:42 rotated credential, checkout recovered
19:50 ~30 orders failed, customers saw "payment error"
Enter fullscreen mode Exit fullscreen mode

Accurate, and useless to the client's ops manager.

The five-part summary

Here's the structure I'd use for anything a non-engineer reads:

  1. What customers saw. One sentence, in their language: "Between 19:02 and 19:42, some customers saw a payment error at checkout."
  2. Impact in numbers you can stand behind. "About 30 orders did not complete." If you're not sure, say "about" and say how you'll confirm.
  3. What we did. Two sentences, no jargon. "A security credential used to confirm payments had expired. We replaced it and checkout recovered."
  4. What changes now. Concrete, owned, dated. "We've added a reminder 30 days before this credential expires (owner: us, done)."
  5. What we need from you. Often the most useful line: "Would you like us to email the affected customers, or will your team?"

What to leave out: blame, the rollback that didn't help, internal tool names, and anything you'd have to retract later.

The first email from the client

The next morning the ops manager replies with house rules. Paraphrased:

Thanks. For future incidents:
- Always give times in Berlin time, not UTC.
- Don't name our payment provider in anything we might forward.
- I need a German version for the warehouse team.
- Put "what we need from you" at the very top.
Enter fullscreen mode Exit fullscreen mode

You follow all four rules. Everyone is happy.

The second incident, five weeks later

A different engineer is on call. A shipping-label integration fails for an hour. The ops manager's whole email is:

Labels down again this morning? Same as last time please.
Enter fullscreen mode Exit fullscreen mode

"Same as last time" carries all four rules. If whoever writes the summary only sees today's message, you get UTC times, the provider named in the second paragraph, English only, and the ask buried at the end. The facts are right and the email still fails, because it ignores what the client already told you.

This is the failure I find most interesting: the latest email is short because the earlier ones were long.

A checklist that survives on-call rotation

If you don't have anything that remembers for you, write the rules down where the next person will look:

  • Keep a per-client "comms rules" block at the top of the incident template: time zone, names to avoid, languages, order of sections.
  • Link the previous summary in the new incident ticket, not just the previous root cause.
  • Diff your draft against the last one before sending. If the structure changed and nobody asked for it, that's probably a regression.
  • Write the German (or any) version from the facts, not as a word-for-word copy of the English: warehouse staff need "which labels to reprint", not the executive framing.
  • Re-read the client's last reply to you before you hit send. Corrections live there.

Where Maildoer fits

Maildoer is the tool I build: you email a task with attachments to do@maildoer.com and get back a summary, a translation, a reply draft or a report. The part relevant here is that a later email from the same person is read together with their earlier ones. So "Same as last time please" plus today's notes can be handled with the Berlin times, the unnamed provider, the German version and the ask at the top, without pasting the rules in again. You can also reply to the result ("shorter, and add the reprint count") instead of starting over.

It doesn't replace the checklist above. The written rules block still matters, because your teammates need it too.

What I'd do differently

If I were setting this up again, I'd ask for the house rules before the first incident, in the kickoff email: "When something breaks, what time zone, which languages, and who forwards our emails to whom?" Clients answer that happily when nothing is on fire.

How does your team keep per-client communication rules from getting lost between on-call shifts?

If you'd like to try it, each email address gets 100 credits on first use as a trial allowance: https://maildoer.com

Top comments (0)