Security

Drafting the Message Sent When an AI Feature Breaks

Antonio Evans9 min read

A support agent at a desk with a headset, looking at a computer screen that shows a status page with a yellow warning banner.
Key points

Key points

  1. 1A front-line reply during an AI incident should mirror the status page word for word on facts, never add a timeline the page does not state, and always send the customer to the page for updates.
  2. 2Status page guidance is to give a conservative estimate or none at all rather than one you cannot meet, and support replies inherit that rule.
  3. 3NIST and CISA treat communication as part of the incident lifecycle, not an afterthought, with defined phases, roles and post-incident review.
  4. 4The script only stays accurate if one owner updates it during the incident, tabletop exercises rehearse it, and agents can trigger a review when the page changes.

Build the reply from the status page, not from your head

An AI feature that breaks is still an outage, and the customer-facing part of it is a communication problem before it is an engineering one. Treat the status page as the single authoritative source of what is happening, and treat the support reply as a pointer to it. Atlassian's incident communication guidance is explicit that a dedicated status page is the primary incident communication solution and defines whether the team is doing well: it is a clear source of truth during the incident, and it takes the support burden off people who should be heads-down fixing the problem, Atlassian's incident communication guide.

For an AI feature, the customer rarely asks "which subsystem is failing." They ask whether the summary they just generated is real, whether the classifier that rejected their document will reject it again, whether the assistant still has their data. That is why the reply has to describe impact in the customer's terms before it describes anything technical. The open status page guidance puts it plainly: start with the impact, explain the cause only when known, and provide an estimate only if you can, because a conservative estimate or none is better than one you cannot meet (openstatus best practices).

A useful mental model is a strict one-way dependency. The status page owns the facts. The support script owns the translation. The support script never owns the facts.

That gives you a numbered procedure you can hand to an agent mid-incident:

  1. Open the status page incident for the affected feature and read the current phase (investigating, identified, monitoring, resolved).
  2. Copy the phase, the affected feature name and the next-update commitment into the reply. Do not paraphrase the numbers.
  3. Add one sentence on what the customer can do right now, if the page or the incident channel supports it.
  4. Send the link, log the ticket against the incident identifier, and move on.

The last step matters for the post-incident review, which NIST's lifecycle makes a formal phase rather than a nice-to-have: after every incident there is substantial effort to document and investigate what happened and feed it back into preparation and detection for next time (Cynet on the NIST lifecycle).

The template

This is the core script. Fill the brackets from the status page, delete anything you cannot source, and keep it short enough to read on a phone.

Subject: [Feature] issue: we are aware and investigating

Hi [name],

Thank you for flagging this. We are aware of an issue affecting
[feature, in the customer's words], and our team is investigating.

What this means for you right now:
[one sentence on impact, copied from the status page]

For updates, please check our status page at [link]. We will post
the next update there [cadence from the page, e.g. within 30 minutes].
We will share more information there as soon as it is available.

If the status page has an "Identified" update, say so and stop there.
If it has an ETA, quote it exactly and attribute it. If it does not,
do not invent one.

Thanks for your patience,
[name], [team]

Three properties make this template safe. It names the feature rather than the model or the vendor, so it survives re-architecture. It routes the customer to a page they can subscribe to, which is the mechanism Atlassian recommends for pushing updates without pulling engineers away from the fix (Atlassian). And it gives a next-update promise only in the form the page already committed to, which is the same cadence discipline incident.io recommends: a rigid update cadence, held even when there is no news (incident.io on communication practices).

For AI features specifically, add one line to the internal notes, not the customer reply: whether the failure is behavioral (wrong or refused output) or availability (no response at all). Behavioral failures generate far more tickets per affected user, because every bad output looks like a separate bug.

What the reply must contain, and what it must never promise

The quickest way to train a support team is a two-column contrast. Use it as a checklist in the macro and in the onboarding doc.

ElementSay thisNever say this
Acknowledgment"We are aware of an issue affecting [feature].""This is the first we have heard of it."
Status source"Our status page has the current status: [link]."Anything that contradicts the status page
TimelineQuote the page's ETA exactly, or omit it"It should be fixed in about an hour"
Cause"Our team is investigating."A technical guess, or a named third-party vendor
BlameNothing, or "our team""The model provider is down", "upstream issue"
CompensationOnly what policy already allows"We will credit your account"
Next contact"The next update will be posted at [link].""I will personally email you when it is fixed"

The right-hand column is not about politeness. Each entry creates a commitment that someone else has to keep, in a situation where nobody yet knows the shape of the fix. The open status page guide makes the ETA case directly: give a conservative estimate or no estimate rather than one you cannot meet (openstatus). Webalert's template library states the same rule from the other side: do not wait for root cause before acknowledging known user impact, but do state the affected feature, current phase, confirmed impact, timestamp and next-update time (webalert on status update templates).

Two of those prohibitions deserve their own paragraph.

Do not promise a time. An agent who says "about 20 minutes" has converted a support reply into an SLA. If the fix takes three hours, the customer's next message is about the broken promise, not the broken feature, and the agent has handed the incident commander a second problem.

Do not name a cause, especially a vendor. "The model provider is having an outage" is tempting because it moves blame off your team. It also publishes an unverified claim about a third party, and if the real cause turns out to be your retry logic, you have made a false statement to every customer who got that reply. NIST's containment and eradication phases exist precisely because many parts of an incident are only understood once responders are in the middle of it (Cynet).

Worked example: one incident, three replies

Suppose an AI document-summarization feature starts returning empty summaries for roughly one in five uploads. The status page reads:

Investigating: Some users may receive empty summaries for uploaded documents. Our team is investigating. Next update within 30 minutes.

Here is how three different customers should be answered from that single page, without any of the three replies inventing a fact.

Customer messageReply shapeWhy
"Your summary tool is broken, it gave me a blank page."Standard template, phase copied as Investigating, link, next update within 30 minutesNo new facts needed; the customer has confirmed the impact
"Is my document safe? Did you lose my upload?"Template plus one clarifying line drawn from the page or product documentation, no speculationData questions are high stakes, and guessing here is worse than saying "the status page will say when we know"
"I have a client deadline in 40 minutes, I need this now."Template plus the workaround if one is published, plus an honest statement that no ETA is available yetThe deadline is real, the fix time is unknown, and a fake reassurance makes the follow-up worse

The second row is where AI incidents differ from plain outages. Customers cannot see a model. They can only observe that an output was wrong, empty or refused, and they extrapolate about their data. If the status page does not address data handling, the correct support answer is that you do not have confirmed information yet and the page will carry it, not a comforting guess.

The third row is where agents most often break script. The instinct is to soften a hard deadline with a hopeful time. Instead, hand the customer the decision: here is what we know, here is when the next update lands, here is what you can do in the meantime. That is the same structure Atlassian recommends across channels, where each audience gets the message it needs on the channel it uses, rather than one blended message (Atlassian).

Handling angry customers without breaking the script

Anger during an AI incident usually has one of three sources: lost work, a wrong output that reached a customer of theirs, or a previous promise that was not kept. The reply has to acknowledge the first, avoid speculating on the second, and own the third.

Language matters more than structure here. Guidance on customer service phrasing recommends specific ownership over stock apologies, and flags phrases like "I apologize for any inconvenience" as empty because they do not name what is being apologized for (Gorgias on phrases to use and avoid). So replace "We apologize for any inconvenience" with "We are sorry the summaries came back empty; that is not the behavior you should expect from this feature."

The most useful de-escalation move in an incident is to answer the question the customer did not ask: what happens next, and who decides. A reply that says "the next update will be posted on the status page at [time]" gives an angry customer something concrete to check and a reason to stop escalating to an agent who has no more information than the page does.

If the customer is angry about a commitment a previous agent made, do not repeat it and do not deny it. Say that you are sorry the earlier message set an expectation the team could not hold, and point to the status page for the current state. Then log it, because repeated broken promises are a script problem that the post-incident review should fix, which is what the NIST lifecycle's feedback loop from recovery back into detection and analysis is for (Cynet).

For escalations that are truly account-level, the reply should route to the person who can actually make a decision, and say so in one sentence. Vague offers to "escalate internally" read as a brush-off.

Keeping the script honest as the incident moves

A single static template will be wrong within an hour, because status pages move through phases. The open status page guidance models a typical lifecycle of investigating, identified, monitoring and resolved, with plain-language examples for each (openstatus). The support macro needs one block per phase, and the agent picks the block that matches the page at the moment of sending.

PHASE: Investigating
We are aware of an issue affecting [feature] and are investigating.
Current status and next update: [status page link]

PHASE: Identified
We have identified what is causing the issue with [feature] and are
working on a fix. Details and next update: [status page link]

PHASE: Monitoring
A fix has been applied to [feature] and we are watching to confirm it
holds. If you still see the issue, reply here. Status: [status page link]

PHASE: Resolved
The issue affecting [feature] is resolved. A summary will be posted at
[status page link]. Thank you for your patience.

Four practices keep this from rotting.

Name one owner for the macro. During the incident, the incident commander or a communications lead owns both the status page and the support macro, and updates them in the same action. If two people update them separately, they will diverge, and the first customer to notice the divergence will say so publicly.

Run the broken-AI scenario in a tabletop exercise. Discussion-based exercises are designed to test a response plan in a low-stress setting, and they surface gaps in communication and unclear roles rather than technical faults (Bitsight on tabletop exercises). CISA publishes customizable exercise packages with scenarios, objectives and discussion questions that teams can adapt without building an exercise from scratch (CISA tabletop exercise packages). A 60 to 90 minute session with support, engineering and communications in one room, working from a page that changes three times, will find more script defects than any review.

Put the script in the incident checklist. CISA's incident response playbook includes an incident response checklist with steps, actions taken and date completed, and it is written so that organizations beyond federal agencies can use it to standardize their own practices (CISA playbooks, the playbook PDF). If "support macro updated to match status page" is not a line item with a name against it, it does not happen.

Review the replies, not just the outage. After resolution, sample the replies sent during the incident and check them against the page as it stood at that moment. Any reply that contained a fact the page did not contain is a training example, and any reply that contained a time the page did not contain is a defect in the macro.

The distinction between an incident response plan and a playbook is useful here. A plan covers how the organization responds to an incident, while playbooks are scenario-specific procedures, and the plan should cover every phase of the lifecycle including preparation and post-incident activity (Fortinet on plans, playbooks and policy). The support script is a tiny playbook, and it deserves the same treatment as the bigger ones: an owner, a review cycle and a rehearsal.

If your team runs AI features across several model providers and the incident work keeps landing on the same two people, a shared credit pool and a private skill library for the support and engineering group can cut the coordination overhead; Quanta for Teams is built for that arrangement (https://quantaintelligence.ai/for-teams). When the harder question is which of your AI workflows need this kind of script at all, a short working session tends to settle it faster than a document: Quanta Consulting runs a free 30-minute discovery call (https://quantaintelligence.ai/calendar).

FAQ

FAQ

Should support agents ever give an ETA during an AI incident?

Only when the status page already states one, and then by quoting it exactly rather than estimating. Status page guidance recommends a conservative estimate or none at all, because an estimate you miss costs more trust than no estimate (openstatus). An agent's personal guess is not an ETA, it is a promise the incident team has not made.

What do I say when the AI output was wrong rather than missing?

Describe the observable behavior and point to the page, without diagnosing. Something like "we are aware that some summaries are coming back empty or incorrect and are investigating" is accurate and does not commit to a cause. Do not speculate about the model, the prompt or a provider; NIST's lifecycle assumes the full picture often only emerges once responders are inside the incident (Cynet).

How do I keep the reply consistent with the status page as it changes?

Use one macro with a block per phase and have a single named owner update the page and the macro together. Status pages typically move from investigating to identified to monitoring to resolved, and the reply should reflect whichever phase is live at send time (openstatus). Sampling replies during the post-incident review catches drift.

Is a template too impersonal for an angry customer?

A template supplies the facts; the agent supplies the acknowledgment. Keep the structure and replace stock phrases with specific ones, for example naming the exact behavior the customer saw instead of apologizing for "any inconvenience" (Gorgias). An angry customer is usually asking whether you know and whether anyone is on it, which is exactly what the template answers.

How do we test the script before we need it?

Run a discussion-based tabletop exercise with support, engineering and communications, using a status page that changes two or three times during the session. Tabletop exercises are built to expose gaps in plans, roles and communication without touching production systems (Bitsight), and CISA publishes adaptable packages with scenarios and discussion questions (CISA). Record the defects and fix the macro, not the individuals.

Sources

Sources

  1. Incident Communication Best Practices & Channels
  2. Building Trust with Status Pages
  3. NIST Incident Response: 4-Step Life Cycle, Templates and Tips - Cynet
  4. Incident communication best practices: Keep stakeholders ...
  5. Incident Communication: Status Update Templates for Outages
  6. Customer Service Phrases: What to Say, What to Avoid, ...
  7. What is a Tabletop Exercise in Cybersecurity? - Bitsight
  8. CISA Tabletop Exercise Packages
  9. Federal Government Cybersecurity Incident and Vulnerability ... - CISA
  10. PDF Cybersecurity Incident & Vulnerability Response Playbooks - CISA
  11. A Guide to Incident Response Plans, Playbooks, and Policy - Fortinet
About the author

About the author

Antonio Evans
Antonio Evans

Antonio Evans is the founder of Quanta Intelligence and a fractional CTO who builds HIPAA-ready AI systems for health and life-science companies. Before that he was technical co-founder of FriendsEAT for twenty years, CEO of Socialdraft, and a data engineer at IBM. Antonio lives with his dog Santino in Lisbon, Portugal.

All articles