Blog

Your customers will notice before your status page does

How to run a status page during an incident: post within minutes, update on a set cadence, separate facts from guesses, and give comms its own role.

A status page informs every customer at once during an incident so your support team isn’t answering the same question over and over. It only works if you post as quickly as possible, update on a defined cadence, and give the job to someone who isn’t heads down in the code. Most teams get the first part wrong, and their customers find out from Downdetector or social media before they hear it from the company.

I got into incident management through the support queue at Braintree Payments (now part of PayPal). I was answering hundreds of developer emails and calls a week, and during incidents I started pulling status from the on-call engineers because there was no defined process. When I eventually got tagged to create the process, one of the first things I fixed was the public status page. It lived behind a shared dev login in 1Password. Whoever had the password could post, which meant nobody owned it and everybody posted. No templates, no review, just vibes (shudder).

Taking that page back taught me the thing I still believe almost a decade later. The status page is a communication tool first and a dashboard second. Who posts, what they say and how fast they say it matter far more than which tool you use.

Status page basics:

  1. Post “we’re aware and investigating” within minutes (as soon as you know a good portion of your customers are impacted).
  2. Write a few generic templates ahead of time and get them pre-approved by your legal and/or PR team if necessary.
  3. Push every update right up to the line your legal and/or PR team will allow.
  4. Update every 15 to 30 minutes for high severity and every 45 to 60 minutes for lower severity.
  5. Keep what you know separate from what you don’t, so every update stays true if your leading theory is wrong.
  6. Give comms to a dedicated role so engineers never write the status page.
  7. Tailor each update to its reader. Responders, executives and customers need different things.

How do status pages help during incident response?

A status page answers the first question every customer has, which is “is it me or is it you?” When something breaks, people check their Wi-Fi, restart their phone, and then go looking for you. If they find nothing, they assume you’re hiding something.

The page does three jobs during an incident:

  • It answers everyone at once. One post reaches every customer. A support ticket reaches one person, and the queue grows every minute you wait. The sooner you post, the more tickets you head off.
  • It tells people they aren’t imagining things. Even “we’re aware of an issue and looking into it” means someone is already on it.
  • It keeps the inside of the company in sync. A private status page (one only employees can see) gives support, sales, customer success managers (CSMs) and executives one place to read what’s going on. Answer “what can I tell my customer?” there, and people stop asking in the incident channel.

After the incident, the page becomes the public record of what happened and how you handled it. That record is worth something. Customers judge you less on whether you had an outage (everyone does) and more on whether you were straight with them.

Do this today: Set up two pages if you haven’t, one public and one private. Name the components the way customers do, “checkout” and “login” instead of “Payments API v2”.

What should the first update say, and how fast?

The first update should go up in minutes and it only needs one sentence. “We’re aware of an issue affecting login and we’re investigating. Next update at 2:30pm CT.” That’s it. You don’t need the cause or an exact count of affected customers. You do need to know the impact is real enough to warrant a post. Posting for something with little or no customer impact cuts against you too, because people start to think you’re always having incidents even when your uptime is solid.

Waiting for the cause is one of the mistakes I see most, and I wrote about it as mistake #7 in the most common incident management mistakes. Google’s SRE Workbook puts it plainly: “Unless you acknowledge that an incident is happening and actively being addressed, people will automatically assume nothing is being done” (Google SRE Workbook).

The good news is that fast is normal once teams commit to it. Across Rootly customers, the median team posts its first status page update 9 minutes after declaring an incident. Of the SEV0 and SEV1 incidents that got a status page update, 90.9% got the first one within 20 minutes (Rootly benchmark report, Oct 2026).

Do this today: Decide which severity levels trigger a public post, and make the first post one click from a pre-approved template. Then time your next three incidents from declare to first post.

What if customers find out before your status page does?

Post immediately, own it, and don’t pretend you were ahead of them. If customers are already talking about it, every minute of silence after that looks like you’re either asleep or hiding.

It happens to good companies all the time. IsDown, which tracks vendor status pages and user reports, logged users reporting an Auth0 outage on Apr 22, 2026 a full 56 minutes before Auth0’s status page acknowledged it. On Apr 16, Canonical’s status page took 75 minutes to reflect an outage users were already reporting (IsDown, April 2026, vendor data). Across the 45 outages IsDown caught early that month, users had an average 22-minute head start on the official page.

Customers time you the way you time your vendors. At Chime we had great monitoring, and we still checked Downdetector, because the first question is always “is it just us, or is it everyone?” Your customers are asking the same question about you.

When they beat you to it:

  1. Post the “we’re aware” template now. If customers are reporting it, the impact is real enough to post, even before you know the full scope. “We’re aware of reports of errors at checkout and we’re investigating” is true the moment the tickets start coming in.
  2. Point every channel at the page. Support replies, social replies and the CSMs (customer success managers) talking to big accounts should all link to the status page, so there’s one version of the story.
  3. Treat the support queue as a trigger. A spike in tickets or social mentions about the same feature should open an incident, the same way an alert does.
  4. Have a fallback for the page itself. Cloudflare’s status page went down by coincidence during its Nov 18, 2025 outage, even though it ran on separate infrastructure (Cloudflare). If your page is down, post on social media or put a banner inside the product.
  5. Retro the detection gap afterward. Measure the time between when impact started and when someone declared. That gap points straight at a blind spot in your monitoring.

When I ran incidents, we caught roughly 70% of them internally before customers told us. A Microsoft Teams study of 152 high-severity incidents found about 71%. Even good teams get beaten by customers about three times in ten. So plan for it. Those incidents still deserve a fast post and a retro on the blind spot.

Do this today: Pull your last five customer-reported incidents. Write down how long each one took from the first ticket to the first status post, and set a target for the next one.

How do you keep customers informed without distracting engineers?

Give communication to a dedicated role, and decide who fills it before the incident starts. Engineers should never write the status page. Their job is to stop the bleeding, and a brain deep in a stack trace isn’t equipped to write a clear customer message.

The fire service figured this out a long time ago. Under the Incident Command System, a public information officer talks to the press so the people holding the hoses don’t have to. Incident response works the same way:

  • The incident commander (IC) runs the incident. The IC coordinates the response and makes the calls but doesn’t fix anything. In a minor incident, the IC can post the updates too.
  • A comms lead takes over once the bridge gets big. When there are dozens of people on the call, the IC can’t run it and also write updates for execs, Slack, and customers. The comms lead translates what’s happening on the bridge into updates for everyone who isn’t on it.
  • Someone owns customer impact. One model I’ve used is a customer experience incident coordinator. They join alongside the IC, work out how customers are affected, and get support macros and call center messaging deployed.

The key word is “before.” Write down which roles each severity level gets, and practice them in a tabletop exercise. Some teams prefer to keep only the incident lead fixed and add roles as the incident unfolds, which cuts overhead. My experience is that roles decided in the moment tend to create anxiety and confusion. In regulated industries like fintech and healthcare, the comms or PR person also needs to be on call and pageable, because a SEV0 at 2am won’t wait for business hours.

AI can help to an extent. It’s good at pulling a draft update out of a noisy incident channel in seconds. But a person should approve every post because nobody wants a status page update built from hallucination.

Do this today: Open your incident playbook and write a name (or a rotation) next to “comms lead” for SEV0 and SEV1. If you can’t, that’s your first gap to close.

What goes in every customer update?

Every customer update answers three questions:

  1. What’s broken
  2. How it affects them
  3. When it will be fixed

Here’s what that looks like:

Checkout: degraded. Customers paying by card may see an error at checkout. We haven’t identified the cause yet. We estimate a fix in 20 to 30 minutes. Next update at 2:00pm CT.

A few rules make this work.

Separate what you know from what you don’t. Never put a fact and a guess in the same sentence. “Card checkout is failing and it started at 1:12pm CT” is known. The cause, and whether other payment types are affected, is unknown, so say so. “We haven’t identified the cause yet” tells people more than “we’re looking into it” ever will. Hypotheses stay internal, labeled unconfirmed.

Give a range, not a time. Customers and execs always get a recovery estimate, but it’s a buffered range labeled as an estimate. When your confidence is low, widen the range and say what it depends on. An exact time is a promise you’ll probably have to walk back.

Cut these words from your updates:

  1. “Shortly” and “soon” (vague timing)
  2. “Minor” and “limited impact” (minimizing)
  3. “No data was affected” and “fully resolved” (premature assurances)
  4. “Human error” and “our vendor” (blame)
  5. “Unexpected” and “unprecedented” (defensive)
  6. “We apologize for any inconvenience” (empty platitude)

That third line is where I part ways with some of the big guides. PagerDuty’s status page guide tells teams to reassure customers that their data is safe when an incident could look like a security issue (PagerDuty). I’d only say it once you’ve confirmed it. If it turns out to be wrong, it becomes the line used in litigation.

My last check before anything goes out is one question: If our leading theory turns out to be wrong, is this update still true? If the answer is no, rewrite it until it is.

Do this today: Take your last three public updates and run them through that question. Rewrite any sentence that mixes a fact with a guess.

How often should you post updates?

Update frequency follows severity:

Incident Update every
High severity (SEV0, SEV1) 15 to 30 minutes
Lower severity 45 to 60 minutes

That’s close to PagerDuty’s 30-minute baseline for major outages and Atlassian’s one-hour ceiling (Atlassian), so nothing spicy here. The part I see teams skip is the last line of each update. Every update should say when the next one is coming, “Next update at 2:30pm CT,” so nobody has to guess or refresh the page every 30 seconds.

Post on schedule even when nothing has changed. “We’re still working on the checkout errors and haven’t found the cause yet” is a real update. Silence after a promised update time is worse than no promise at all, because now customers think you forgot about them.

Do this today: Put the cadence in your playbook next to each severity level. Have the comms lead set a timer for the next update every time they post one.

Write the templates with your legal and/or PR team on a calm Tuesday, not during the incident. A pre-approved template doesn’t need review because it’s already blessed. Without one, the first post goes draft, Legal, PR, rewrite, and then finally out, while customers wait.

Legal, PR and compliance are real constraints, especially in regulated industries. I’ve always worked in regulated fintech, so I get it. For a security incident at a US public company, the SEC requires a Form 8-K within four business days of deciding the incident is material (SEC). That’s a hard reason for Legal to want a say. Templates let you move fast on the routine outages and save the review time for the ones that need it.

Start with these three:

  1. We’re aware. “We’re aware of an issue affecting [feature] and we’re investigating. Next update at [time].”
  2. Update. “[Feature] is [impact]. We haven’t identified the cause yet. Estimate: [x] to [y] minutes. Next update at [time].”
  3. Resolved. “[Feature] is working normally as of [time]. We’ll publish a retrospective by [date].”

Beyond the templates, push every update right up to the line Legal will allow. My test is that Legal should tell me “we can’t share that” at least once. If they never push back on anything I write, I probably didn’t push far enough. Find the line and toe it every time (but don’t go over it, because litigation is no fun).

Do this today: Book 30 minutes with Legal and get those three templates approved. Ask them to name the things you can never say, so the comms lead knows where the line is before they need it.

Who needs which update?

Responders, executives and customers all need something different from the same incident. One update copy-pasted to all three serves none of them.

Audience What they need Where it goes
Responders Current state: what’s happened, every hypothesis and whether it’s ruled out, the key metrics and which way they’re trending, current impact, and what comms have gone out. Then next steps, with an owner and ETA for each workstream. The incident channel
Executives Impact, a plain summary of what happened (or what we think happened), what’s gone out externally, and an estimated mitigation time. A dedicated, private incident exec channel
Support and CSMs What customers can see, and exactly what’s been said publicly. The private status page
Customers Which features are degraded, how it affects them, and when to expect a fix. The public status page

Executives get informed, not involved. During an incident the IC is the CEO, and that authority runs all the way up the chain. PagerDuty makes the IC the highest-ranking person on the call regardless of title (PagerDuty), and Atlassian agrees. Atlassian goes as far as saying “The best ICs are even willing to remove the CEO or their boss from a call” (Atlassian). Keep execs out of the bridge and give them their own channel instead. The quietest I’ve ever seen an executive team is when I set up a channel that had only my updates in it, with no reacting or commenting. Not because they aren’t paying attention, but because they are getting what they need. Nobody gets blindsided by a customer calling them directly, and nobody is asking the bridge for an ETA.

One caution on the private page. Private doesn’t mean confidential, because everyone who can log in can read it. Data breaches and anything reputational don’t go on it. Open a separate restricted channel instead, with only the named people who need the details: the IC, Security, Legal, your comms lead and the exec sponsor. Updates with confidential details stay in that channel, and counsel reviews anything before it leaves. The private page and the main incident channel still get updates, just without the confidential parts. Tell them what can and can’t be shared and who’s handling the rest, or people will fill the gap with guesses.

Do this today: Write one template per audience for your SEV0 and SEV1 incidents. Then set up the exec channel now, before you need it, and tell the execs that’s where updates will come from. Bonus: You can also use that channel to provide weekly incident rollups.

What happens after it’s resolved?

Post a resolved update that says what’s working again and when the retrospective will be out. For major incidents consider publishing a public retrospective, written and signed by someone visible like a CTO or a well-known engineer. Cloudflare’s CEO published theirs the same day as their Nov 18, 2025 outage (Cloudflare) and as a result, many remember that retro more than the incident itself. But make sure to match the depth to your readers. A developer tool can go deep, and a consumer app should stay in plain language.

Enterprise customers often need more than the public writeup, like a private root cause analysis (RCA), SLA (service level agreement) credits or a walkthrough call. The CSM on the account owns that follow-up, because every customer’s contract and expectations are different. The incident team helps produce the RCA.

Do this today: Decide your policy for posting public retrospectives. Who writes them and what incidents will you write them for?

The first post is about trust

Nobody remembers the exact wording of your status updates. They remember whether you told them before they had to ask, and whether what you said held up.

Taking back that shared login at Braintree felt like housekeeping at the time. Looking back, it was the moment we decided the status page was somebody’s job. Everything else in this post follows from that decision.

If you’re on Rootly, the comms lead can post a status page update from a template without leaving Slack. Whatever you use, write those three templates this week. (And if you want a second set of eyes on your incident comms playbook, shoot me an email.)

Your privacy choices

Rootly uses cookies from advertising partners to measure our ads and to show ads for Rootly on other sites. Some US state laws call that selling or sharing personal information. You can opt out of it for this browser here.

Analytics we use to improve this site stay on. Read Rootly's Privacy policy for more information.