A status page is only as good as the habits behind it. The teams that earn trust during outages are not necessarily the ones with zero downtime. They are the ones with a clear process: the right event type at the right time, honest updates on a steady rhythm, and a public record customers can rely on long after service is restored.
This guide collects industry best practices for managing a status page day to day. Whether you run StatusDashboard or another platform, these principles apply. Look for Practical rule callouts throughout if you want the short version. New to status pages? Start with Why You Need a Status Page. For the wording of the updates themselves, see The 5 Cs of Effective Outage Communication.
Model your product the way customers experience it
Before you declare your first incident, invest in components. Split your status page by what customers actually use: login, checkout, API, webhooks, a specific region, or an integration partner. A single red bar labeled "Platform" tells users almost nothing.
Google's Site Reliability Engineering practice emphasizes that good incident response is user-centric. Fixing the problem is only part of the job. Stakeholders need to know what is affected, how severe it is, and when they can expect relief. Component-level status makes that possible.
Practical rule: if a support agent would need to ask "which part is broken?" before answering a ticket, your component model is too coarse.
When to create an event
Not every blip deserves a public announcement. Not every announcement is an incident. The decision comes down to customer impact and duration.
Create an incident when
- A service customers depend on is degraded or unavailable
- Impact is confirmed, not just suspected
- The issue is likely to last more than a few minutes, or affects a critical workflow even briefly
- Users are already noticing (support volume, social mentions, failed transactions)
PagerDuty recommends acknowledging a customer-impacting issue within 10 to 15 minutes of detection. Brief transient issues under five minutes may not need a public event unless they hit something critical like authentication or payments.
Do not create an incident when
- Monitoring flickered but users experienced no impact
- The issue is fully internal with no customer-facing effect
- You are sharing news that does not change service health (use an informational notice instead)
- You are announcing work that is still days away and fully planned (use maintenance)
PagerDuty's status page guidance treats a dedicated status page as the single source of truth during disruption. That only works if you reserve it for real operational events and keep the narrative consistent.
Practical rule: no confirmed customer impact, no incident. Once impact is confirmed, aim to publish a first external update within 15 minutes.
Draft first, publish when ready
Most mature teams author in draft, verify impact and wording, then publish. Publishing too early creates panic; publishing too late creates rumors. A short internal checklist ("confirmed impact?", "components identified?", "comms lead assigned?") beats improvising under pressure.
On StatusDashboard, Publish defaults to off and Notifications defaults to on. That means you can prepare an event, review it with your team, and only then make it visible and trigger subscriber delivery.
Choose the right event type
Status pages typically distinguish three categories. Using the wrong one confuses customers and pollutes your incident history.
| Event type | Use when | Customer sees |
|---|---|---|
| Incident | Unplanned disruption or degradation | Affected components change status; timeline updates track progress |
| Maintenance | Planned work with a defined window | Scheduled window, distinct from outages; optional automation |
| Informational | Announcements with no service impact | A notice only; components do not change operational status |
Incidents
Open an incident when something broke that you did not plan for. Incidents require a start time (backdating is encouraged for accuracy), at least one affected component, and a workflow that moves through phases like Investigating, Identified, Monitoring, and Resolved.
Backdating matters for SLAs and trust. If a customer reported trouble thirty minutes before your team opened the record, the start time should reflect when the incident actually began, not when someone clicked Create.
Maintenance
Use maintenance for upgrades, migrations, certificate rotations, and other scheduled work. Maintenance requires both a start time and an end time representing the planned window. Those times stay fixed even as you post timeline updates. They describe the schedule, not the exact moment someone clicked a button.
Communicate maintenance as early as possible, with more lead time for higher-impact work. Most enterprise teams operate on impact-proportional notice: minor changes get days of notice; major customer-facing downtime gets one to two weeks.
Informational notices
Use informational events for release notes, policy updates, or "heads up" messages that do not affect component health. If impact appears later, create a new incident. Informational events do not support timelines or severity, which keeps your operational history clean.
Practical rule: planned work is maintenance; news without service impact is informational. Posting a scheduled upgrade as an incident trains customers to treat every alert as an outage.
How much information to provide
The right amount of detail balances transparency with accuracy. Say what you know. Say what you are doing next. Avoid speculation dressed up as fact.
What to include in every public update
- What is affected (specific components, not vague "systems")
- What customers should expect (errors, slowness, full unavailability, read-only mode)
- What you are doing now (investigating, deploying fix, monitoring)
- When you will update again (even if that is "within 30 minutes")
Google's SRE incident response guidance is direct on this point: unless you acknowledge that an incident is happening and actively being addressed, people assume nothing is being done. Regular status updates preempt that dynamic.
What to leave out (or keep internal)
- Root cause theories before they are confirmed
- Internal ticket numbers, on-call names, or infrastructure details customers cannot act on
- Blame directed at vendors unless it helps customers choose a workaround
Use internal notes for runbook links, war-room context, and technical detail. Use public attributes only for metadata customers genuinely need. StatusDashboard keeps private attributes in the editor so they never leak to the status page or subscriber notifications.
Keep language consistent
Once you describe an incident, stick with that terminology through the lifecycle. Switching from "payment delays" to "checkout API errors" mid-incident suggests poor coordination. Consistent language builds credibility.
Length
Maintenance and routine updates should be scannable in fifteen seconds: what, when, how long, what to do. Incident updates during active outages can be slightly longer, but lead with the headline. Details belong in the second paragraph, not the first sentence.
Practical rule: every public update should say when you will post again, even if the next message is "still investigating, update in 30 minutes."
Move through workflows deliberately
Workflows turn chaotic outages into a readable story. They also tell your team what "done" looks like.
Default incident phases
A common incident workflow looks like this:
| Phase | Purpose |
|---|---|
| Investigating | Acknowledge impact; root cause unknown |
| Identified | Cause found; fix in progress |
| Monitoring | Fix deployed; watching for stability |
| Resolved | Customer impact ended |
Post a new timeline entry each time the situation materially changes or on your update cadence even if nothing changed. PagerDuty recommends updating at regular intervals even when the message is "we are continuing to work on a fix." People left in the dark start to expect the worst.
Default maintenance phases
Maintenance typically flows through Scheduled, In Progress, and Completed. The planned window displayed to customers stays the same throughout. Timeline entries narrate what happened inside that window.
Assign a communications owner
Google's incident management model includes a Communications Lead whose job is stakeholder updates, freeing engineers to focus on mitigation. Even on small teams, name one person per event who owns the public timeline. That prevents duplicate posts, conflicting messages, and gaps during handoffs.
Consider assigning a coordinator on the status page itself: a name, role, and contact method so customers know where to direct urgent questions without flooding generic support inboxes.
Practical rule: one person owns the public timeline per event. Engineers focus on mitigation; the communications lead owns what customers read.
Resolve explicitly
Customers want closure. Move to your final workflow phase (Resolved or Completed) and say plainly that impact has ended. A slow fade back to green without a closing update leaves people wondering whether it is safe to resume work.
Notification channels: enable everything, or be selective?
Short answer: offer the channels your audience uses; do not enable channels nobody asked for.
Subscription channels
Your status page subscription settings control which channels visitors can sign up for: email, SMS, WhatsApp, Slack, Microsoft Teams, Google Chat, webhooks, and others depending on your plan. Best practice:
| Channel | Good fit for |
|---|---|
| Default for almost every team; works for external customers and partners | |
| SMS | High-urgency, customer-facing outages where minutes matter |
| International customers; in many markets audiences prefer WhatsApp over SMS for timely alerts | |
| Slack / Teams / Google Chat | Internal teams, partners with shared workspaces, developer relations |
| Webhooks | Automation into your CRM, help desk, or internal tooling |
Enabling every channel "just in case" often produces empty signup options, confused visitors, and channels you never test. Start with email plus one chat integration your team already lives in. Add SMS or WhatsApp when incident urgency justifies a mobile channel: SMS where text messaging is the norm, WhatsApp where that is what your international audience already uses. Add webhooks when you have a consumer ready.
Treat the status page as canonical. Use email, SMS, chat integrations, and social posts as amplifiers that drive people back to the status page for full details, not as competing sources of truth.
Practical rule: the status page is your source of truth. Email, SMS, chat, and social posts should drive people there for details, not compete with it.
Per-event notification control
Even with subscriptions enabled, you control whether a specific event triggers outbound delivery. On StatusDashboard, Notifications and Publish work together:
- Both must be on for subscribers to receive updates
- You can publish an event to the status page with notifications off (useful for low-noise maintenance visible on the page only)
- Draft events never notify, even if notifications are toggled on
For large maintenance windows, many teams publish early with notifications on for the initial announcement, then rely on advance reminders and automated transitions (covered below) rather than manual re-notification at every edit.
Know your audience
Enabling a channel is only half the decision. Who receives each alert matters just as much.
Not every subscriber needs every update. Your executive team probably wants to know about a customer-facing authentication outage. They probably do not need a ping every time a redundant disk fails in a non-production cluster. Your platform engineers need the opposite: operational detail on routine infrastructure work, without waking the whole leadership chain.
That is where audience segments help. Tag contacts in your registry (for example, Executive, Support, Platform Engineering), group tags into segments, then apply include or exclude rules on individual events. A minor degradation with no customer impact might exclude your Executives segment while still notifying engineering and support. A major outage might notify everyone.
Segment targeting applies to email, SMS, and WhatsApp notifications on a per-event basis. It does not hide the event from your public status page. Anyone can still visit the status page; you are simply being deliberate about who gets pushed to their inbox or phone.
The goal is notification signal, not silence. Fewer irrelevant alerts mean the messages that do arrive get read. Teams that ignore status pings because everything looks urgent have effectively turned notifications off already.
If you have mixed internal and external subscribers, segments are worth setting up before your first real incident. See Segments for how include and exclude modes work on the event editor.
Practical rule: if a subscriber would mute you for this alert, exclude their segment. Teams that ignore every ping have the same outcome as no notifications at all.
How far in advance to schedule maintenance
There is no single universal number, but common enterprise practice converges on impact-proportional lead time. Longer windows and higher customer impact warrant more advance notice:
| Maintenance profile | Recommended advance notice |
|---|---|
| Minor work, under 30 minutes, no downtime | 48 hours minimum |
| Standard window, one to four hours, read-only or limited impact | One week |
| Major downtime, migrations, multi-hour outage | Two weeks or more |
For enterprise SaaS, announcing significant maintenance only hours ahead is rarely sufficient. When in doubt, notify earlier rather than later.
Reminder cadence
Schedule reminders at logical intervals. Common patterns:
- One week before (for major work)
- 24 hours before
- One hour before (high impact only)
On StatusDashboard, enable advance notification on automated maintenance to send a heads-up at a configurable lead time (default 24 hours) before the window opens.
What the announcement must say
Every maintenance notice should include:
- Exact start and end times with time zone (UTC plus local conversions for global audiences)
- Affected components
- Expected impact (no impact, degraded, read-only, full downtime)
- What users should do (nothing, export data beforehand, retry after window)
- A link to the status page as the place to check for live updates
Vague timing ("over the weekend") and vague impact ("some users may be affected") generate support tickets without reducing risk.
Practical rule: match advance notice to impact. Minor work gets days; major customer-facing downtime gets one to two weeks.
Automatic start and stop for maintenance
Manual maintenance updates are easy to forget at 2 a.m. Automatic start and stop removes that failure mode.
When enabled on a maintenance event, the platform:
- Moves the event from the planned phase to the first active phase at the scheduled start time
- Moves the event to the final phase at the scheduled end time
- Adds timeline entries for each transition (with customizable messages)
Automation is opt-in per event and off by default. You can still post manually before the window opens; if you do, the platform skips the redundant automatic step but still runs anything you have not done yet (like auto-stop at end time).
Practical rule: publish maintenance before the window opens. Draft events do not auto-start, and unpublishing halts automation mid-flight.
Practical tips for automation
- Publish before the window. Automation does not run on draft events. Unpublishing halts pending automation.
- Plan for minute-level precision. Transitions run on roughly one-minute checks. A start time of 02:00:45 is treated as the 02:00 minute. Build a small buffer into critical cutovers.
- Send advance notice separately. Configure a 24-hour (or longer) advance notification so subscribers are not surprised when auto-start fires.
- Extend the window if work runs long. Edit the end time; remaining automation reschedules. Post a timeline update explaining the extension. Customers forgive overruns when you tell them quickly.
Automatic transitions reduce pager load for operators and give subscribers consistent "maintenance has begun" and "maintenance is complete" signals without someone remembering to click at exact times.
Update cadence during active incidents
Establish a rhythm before you need it. PagerDuty recommends roughly every 30 minutes during major outages, with updates even when there is no new information:
| Situation | Typical cadence |
|---|---|
| Active customer-impacting outage | Every 15 to 30 minutes |
| Identified fix deploying | Every 15 to 30 minutes until stable |
| Monitoring phase | Every 30 to 60 minutes |
| Maintenance running long | At least hourly |
Adjust for audience size and severity. A partial API degradation affecting 5% of traffic may need fewer updates than a full authentication outage.
Each update should answer: What changed since the last post? Repeating the same paragraph signals stagnation even when engineering is making progress.
Practical rule: silence reads as neglect. Post on cadence during active incidents even when the message is "no change since the last update."
After the event: post-mortems and history
Your status page timeline becomes the authoritative record of what happened and when. That history supports SLAs, quarterly business reviews, and post-incident learning.
After significant incidents, publish a post-mortem when you are ready: root cause (or best current understanding), customer impact, remediation steps, and prevention work. You do not need to publish every internal retrospective, but customers and enterprise buyers increasingly expect structured follow-up for major outages.
Keep informational clutter out of incident history. Planned product launches belong in informational notices, not resolved incident slots.
Practical rule: resolve the event on the timeline before you publish a post-mortem. Customers want confirmation that impact has ended before they read the analysis.
Common mistakes to avoid
- One giant component. Users cannot tell if login, API, or billing is down.
- Maintenance posted as an incident. Planned work should not look like a surprise outage.
- Silent recovery. Always post a resolved or completed state.
- Over-notification. Not every typo fix in the description needs a subscriber ping; focus notifications on material changes.
- Enabling channels you never test. A broken Slack webhook erodes trust faster than no Slack option.
- Inconsistent severity. Match the highest-impact component; do not understate a major outage as "degraded" to look better.
- Forgetting internal notes. Capture technical context for your team without exposing it publicly.
A practical checklist
Before your next incident:
- ✓ Components reflect how customers experience the product
- ✓ Incident and maintenance workflows match your team's language
- ✓ Subscription channels enabled match your audience (email at minimum)
- ✓ Audience segments defined for roles that need different notification noise levels (for example, exclude executives on routine infrastructure events)
- ✓ Communications lead role assigned in your runbook
- ✓ Update cadence agreed (for example, every 30 minutes during Sev-1)
When impact is confirmed:
- ✓ Create the correct event type
- ✓ Set accurate start time and affected components
- ✓ Publish with a first timeline entry: impact, current action, next update time
- ✓ Point support and social channels to the status page URL
For planned maintenance:
- ✓ Schedule with lead time proportional to impact
- ✓ Enable advance notification and automatic start/stop where appropriate
- ✓ Publish the window early; send reminders at 24 hours and 1 hour if impact is high
- ✓ Close with a completed phase and confirmation that service is normal
The habit matters more than the tool
The best status page in the world cannot fix a team that goes quiet during outages. The practices above are what separate reactive damage control from controlled communication: the right event type, honest timelines, channel strategy that meets people where they are, and maintenance handled with the same care you expect from your own vendors.
StatusDashboard bakes many of these patterns into defaults: draft-first publishing, component-level severity, maintenance automation, per-event notification control, and a durable public timeline. If you are setting up your page for the first time, start with our Quick Start and Events overview.
Start your free trial and put these habits in place before your next incident, not during it.

