Blog

How to write an incident status update: structure, templates for every stage and mistakes that create tickets

A practical structure for incident status updates: what is affected, what users should do, when the next update comes, plus templates for each stage and common mistakes.

To write an incident status update, state what is affected in user terms, say what users should do right now, and commit to a time for the next update. Label it with the current stage (investigating, identified, monitoring or resolved) and keep it short enough to read in ten seconds. Everything else, including root cause details, can wait for later updates or the postmortem.

This guide gives you a reusable structure, copy-ready templates for each incident stage and a list of wording mistakes that reliably turn one outage into fifty support tickets.

What every incident status update needs

Readers of a status update are not trying to understand your infrastructure. They want to know whether the problem explains what they are seeing and whether they need to act. A good update answers three questions for the reader: am I affected, what should I do right now, and when will I hear more.

In practice that translates into five elements:

  1. Status label: one of investigating, identified, monitoring or resolved. It tells the reader at a glance how far along you are.
  2. Affected components: the product areas, regions or customer groups involved, described by symptom. Write Checkout requests fail with an error, not payments-api pods crashlooping.
  3. Scope: who is and who is not affected. If only EU customers or only API users see the issue, say so. Explicitly stating what still works prevents a flood of worried questions.
  4. User action: what the reader should do, even if the answer is nothing. Retry later, avoid resubmitting payments, use the web app instead of the API, do not rotate your keys.
  5. Next update time: an absolute time with time zone, such as Next update by 14:30 UTC. This single line removes most of the reason to contact support.

If you are not sure what belongs on the page around these updates, the guide on what a status page is and what to put on it covers components, history and subscriber notifications.

How to write an incident status update step by step

When an alert fires, nobody wants to stare at a blank text box. Follow the same sequence every time so the first update goes out within minutes:

  1. Confirm the user-visible symptom. Reproduce it or check your monitors from more than one region. Write down what a customer would see: timeouts, error pages, delayed emails, missing data.
  2. Pick the components on the status page. Mark only the components that are actually degraded. Marking everything as down to be safe causes users of healthy features to panic.
  3. Choose the stage. If you do not know the cause, it is investigating. Do not jump to identified because a theory sounds plausible.
  4. Write the update using the five elements. Start with the symptom, then scope, then user action, then the next update time.
  5. Remove internal language. Delete hostnames, service names, ticket numbers and team names. Replace them with product terms your customers already use.
  6. Set a reminder for the next update. Put a timer on your phone or in the incident channel. Missing your own deadline is worse than giving a longer one.
  7. Publish and notify. Post to the status page, then link to it from in-app banners, social accounts and support macros so everything points to one source of truth.

Templates for investigating, identified, monitoring and resolved

The templates below use square brackets for the parts you fill in. Keep the sentence order, it mirrors the questions readers ask.

Investigating

Post this as soon as you have confirmed impact. Speed matters more than detail here: an honest we are looking into it within five minutes beats a perfect explanation after forty.

Investigating - [Component] is [symptom, e.g. returning errors / loading slowly]

We are investigating reports that [symptom in user terms] for [scope, e.g. some customers in the EU region]. [Other components] are working normally.

What you can do: [action, e.g. If a payment fails, please do not retry more than once to avoid duplicate charges.]

Next update by [HH:MM UTC].

Identified

Use this stage when you know what is broken and are working on a fix. Share the cause at a level customers can understand, without blaming a vendor or an individual.

Identified - [Component] [symptom]

We have identified the cause: [plain-language cause, e.g. a configuration change to our database cluster reduced capacity]. We are [action, e.g. rolling back the change]. [Scope statement, e.g. Customers on the US region are not affected.]

What you can do: [action or No action is needed on your side.]

Next update by [HH:MM UTC].

Monitoring

A fix is deployed and metrics are recovering, but you are not yet confident. Say what users might still notice, such as a backlog being processed.

Monitoring - Fix deployed for [component]

We have deployed a fix and [component] is recovering. Error rates are back to normal levels. [Residual effect, e.g. Emails queued during the incident are being delivered and may arrive with a delay of up to 30 minutes.]

What you can do: [action, e.g. If you still see errors after 15:00 UTC, contact support with the request ID.]

We will continue monitoring and post an update by [HH:MM UTC].

Resolved

Close the incident with the exact time window, the impact and any follow-up. If data was lost or delayed, say so here, not only in a private email.

Resolved - [Component] [symptom]

This incident is resolved. Between [HH:MM] and [HH:MM UTC], [scope] experienced [symptom]. [Data impact, e.g. No data was lost. / Webhooks sent during this window were delayed but delivered.]

[Follow-up, e.g. We will publish a summary of the cause and the changes we are making by [date].]

We apologize for the disruption.

How often should you post incident updates?

The cadence should match how uncertain the situation is. A reasonable default many teams use:

  • Investigating: every 15 to 30 minutes. Uncertainty is highest and users are refreshing the page.
  • Identified: every 30 to 60 minutes, or whenever the estimate changes.
  • Monitoring: one update when the fix is deployed, then one before resolving.
  • Long incidents: if the fix takes hours, say so and stretch the interval, for example Next update by 18:00 UTC or sooner if anything changes.

The rule that matters more than any interval: post an update by the time you promised, even if the content is No change, we are still working on the rollback. Silence after a promised time is read as chaos.

Avoid estimated resolution times unless you are confident. Fixed within 10 minutes that turns into two hours damages trust more than We do not have an estimate yet.

Mistakes that create support tickets

Most incident-related tickets are not caused by the outage itself but by updates that leave a question open. These are the patterns to watch for:

  • No next update time. Users have no idea whether to wait five minutes or five hours, so they write to support to ask.
  • No scope statement. We are experiencing issues makes every customer assume they are affected. Add which region, plan, feature or integration is involved and which is not.
  • Internal jargon. Elevated 5xx on edge-lb-03 means nothing to most readers. They will ask what it means for them.
  • Missing user action on destructive operations. If payments, imports or deployments might be duplicated on retry, tell users explicitly whether to retry. Leaving this out generates refund and cleanup tickets for days.
  • Vague time references. Since this morning or in a few minutes mean different things across time zones. Always use absolute times with UTC or the zone your customers use.
  • Resolving too early. Marking an incident resolved and reopening it twenty minutes later produces a second wave of tickets. Use the monitoring stage for that uncertainty.
  • Status page contradicts reality. Components showing operational while users see errors makes people distrust the page and contact you directly. Update component status in the same step as the text.
  • Different messages in different places. If social posts, in-app banners and support replies paraphrase the incident differently, users compare them and ask which one is true. Link to the status page instead of rewriting.
  • Silent resolution of data issues. If the resolved update does not mention delayed or missing data, users discover it later and file tickets assuming it is a new problem.

Before and after: rewriting a weak update

A typical first draft written under pressure:

We are aware of an issue affecting some services and our engineers are working on it. Sorry for the inconvenience.

It confirms that something is wrong and nothing else. Every reader still has to ask: which services, am I affected, should I do something, when will I know more.

The same update, rewritten with the five elements:

Investigating - Dashboard login failing for some users. Since 09:42 UTC, some users see an error when signing in to the dashboard. The API and scheduled reports are working normally. If you are already logged in, your session remains active, so please do not log out. Next update by 10:15 UTC.

It is barely longer, but it answers all the questions that would otherwise arrive as tickets, and it adds a user action that actively reduces impact.

Using incident templates in m0nitor

If you use m0nitor, the incident management features let you store reusable incident templates with placeholders, so the structure above can be saved once per stage and filled in during an outage. Each incident keeps a timeline of updates from start to resolution, and scheduled maintenance windows are announced on the status page in the same way. The incident documentation describes how to open an incident, post updates, apply templates and resolve it. Any status page tool or even a static page works with the templates in this article, as long as the team agrees on the structure before the next outage.

FAQ

How long should an incident status update be?

Most updates fit in three to five sentences. The reader should be able to understand whether they are affected and what to do within a few seconds. Put detailed technical explanations in the resolved update or a separate postmortem, not in the live updates.

Should I explain the root cause in a status update?

Only at the level customers can understand and only once you are confident, which usually means the identified stage or later. During investigating, speculation about causes tends to be wrong and has to be corrected publicly. A full root cause analysis belongs in a follow-up summary after resolution.

What if there is nothing new to report at the next update time?

Post an update anyway. Say what you are currently doing, confirm that the impact is unchanged and set a new next update time. A short no change update keeps users on the status page instead of in your support queue.

Who should write incident status updates?

Ideally someone other than the engineer fixing the problem, often called the communications lead or incident commander. They gather facts from the responders, write the update with the agreed template and keep the update schedule, so the people debugging are not interrupted every 20 minutes.

Product

  • Pricing
  • Features
  • Integrations
  • Security
  • Free network check

Features

  • Uptime monitoring
  • Status pages
  • Alert workflows
  • Incident management
  • Dependencies
  • AI assistant
  • Global infrastructure
  • On-call schedules
  • Enterprise SSO

Resources

  • What is a status page?
  • Documentation
  • API
  • MCP server
  • Monitoring glossary
  • Blog
  • Changelog
  • About
  • Contact

Compare

  • Free uptime monitoring
  • UptimeRobot
  • Better Stack
  • Pingdom
  • StatusCake
  • Uptime Kuma
  • Hyperping
  • Atlassian Statuspage
  • Instatus
  • Cachet