Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 7 additions & 34 deletions communicate/status-pages/creating-a-status-page.mdx
Original file line number Diff line number Diff line change
@@ -1,41 +1,14 @@
---
title: 'Creating a Status Page'
description: 'Create a status page.'
description: 'Create a Status Page.'
sidebarTitle: 'Creating a Status Page'
---

To set up a status page, select ‘New status page’ on the [Status page overview](https://app.checklyhq.com/status-pages).
To set up a Status Page, select ‘New status page’ on the [Status page overview](https://app.checklyhq.com/status-pages).

1. Begin by selecting a name for your page.
2. Next, create at least one **card** for your page. Cards define the order and grouping of services on your page. One card can contain one or multiple **services** and will show the average uptime for all the services on the card.
3. If you haven’t already created a service for your page, you can do so from the `Services` dropdown. [Read more about services here](/communicate/status-pages/overview#services).
4. Select a subdomain for your page. By default status pages will use the domain `.checkly-status-pages.com` but you can also use your own domain. See [Custom domains](/communicate/status-pages/customization#custom-domains) for details on how to configure this.
5. When you are happy with your setup, click ‘Create status page.’ You will now see a preview of your page, and below the status page name, you have a link to the public page.
1. Begin by entering a name for your page.
2. Next, fill in the first **card title**. Now add or create services in it. Group several **services** on a single card to display the average uptime for all services listed in the card. For example, you can use one card per feature, and aggregate all services associated with the feature into a single card.
4. Customize the subdomain slug for your page. Status pages use the domain `<slug>.checkly-status-pages.com` by default. See [Custom domains](/communicate/status-pages/customization#custom-domains) for more details on how to use your own domain.
5. When you are happy with your setup, click ‘Create status page.’ You will now see a preview of your page, and a link to the public version of the page below the title.

You can now share the link to your status page, and your users can subscribe to receive notifications when incidents are posted.

### Service Creation and Management

Create services that align with how your users think about your application:

```yaml
# Good service examples
Frontend Application:
- Website loading and navigation
- User interface responsiveness
- Client-side functionality

API Services:
- Core API endpoints
- Authentication services
- Data processing capabilities

Third-party Integrations:
- Payment processors
- Email delivery services
- External data sources
```

<Tip>
Create services from your users' perspective, not your internal architecture. Users care about "Login" working, not whether your "Auth microservice cluster" is healthy.
</Tip>
You can now share the link to your Status Page, and your users can subscribe to receive notifications when incidents are posted!
45 changes: 33 additions & 12 deletions communicate/status-pages/customization.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,46 @@ description: 'Add a custom domain and look & feel to your Status Page.'
sidebarTitle: 'Customization'
---

## Custom Domain
You can host your Status Page under your own domain. To make this work, you need to do a few things:
## Custom domain

1. Add a valid custom domain to your status page.
<Note>
Custom domains are available on Communicate Starter, Team and Enterprise plans. [View pricing](https://checklyhq.com/pricing)
</Note>

You can host your Status Page on your own domain. To set it up, add the domain in Checkly and create the required DNS records with your DNS provider.

<Steps>
<Step title="Add a custom domain to your Status Page">
![Custom domain configuration](/images/docs/images/status-pages/status-pages-custom-domain-1.png)
</Step>

2. Create a CNAME record in your DNS that points to custom-domain.checkly-status-page.com
Any DNS provider will have the option to easily add CNAME records. For example on Cloudflare this looks as follows.
<Step title="Create a CNAME record that points to `custom-slug.checkly-status-page.com`">
Create a CNAME record with your DNS provider and point it to `custom-slug.checkly-status-page.com`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has to be specifically custom-domain.checkly-status-page.com

For example, in Cloudflare, the configuration looks like this:
![Custom domain CNAME configuration](/images/docs/images/status-pages/status-pages-custom-domain-2.png)
If your provider is Cloudflare, you also need to disable the proxy on the CNAME, it should always be set to DNS only.
If your provider is Cloudflare, you must disable the proxy on the CNAME, it should always be set to DNS only.
</Step>

3. Verify you are the owner of the domain by adding a `TXT` record to your DNS. The record can be copied from the status page configuration page after providing a custom domain and saving the page once.
<Step title="Verify domain ownership by adding a TXT record">
Copy the domain-verification TXT record from the Status Page configuration after you've added your custom domain and save the page.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Copy the domain-verification TXT record from the Status Page configuration after you've added your custom domain and save the page.
Copy the domain-verification TXT record(s) from the Status Page configuration after you've added your custom domain and save the page.


4. Add validation `TXT` record(s). The record can be copied from the status page configuration page after providing a custom domain and saving the page once.
![Custom domain CNAME configuration](/images/docs/images/status-pages/status-pages-custom-domain-3.png)
<Note>
Search engines require this verification to index and list your Status Page.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For search engine indexing, they'll need to verify ownership of their domain from the Google Console rather, the TXT for this is provided by Google during verification, not us. I'd say this step customers should be aware, but it would come after everything is set up already with the custom domain

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think we should update the accordingly then? Just trying to ensure we're not saying anything technically wrong for now

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I think we can either skip mentioning indexing at all, or mention it at the bottom after the custom domain setup details

</Note>
</Step>
<Step title="Add validation `TXT` record(s)">
Copy the validation TXT record(s) from the Status Page configuration after you've added your custom domain and save the page.
![Custom domain TXT configuration](/images/docs/images/status-pages/status-pages-custom-domain-3.png)
</Step>
</Steps>

## Customize your status page to match your brand identity
## Customize your Status Page to match your brand identity

- Upload your company logo and the link it should direct to
- Upload your company logo and the link it should open
- Upload a custom favicon
- Choose the default theme between auto (system), light or dark theme
- Choose the default theme: auto (system), light or dark
- Customize the color theme to match your brand

<Note>
Theme customization is available on Communicate Team and Enterprise plans. [View pricing](https://checklyhq.com/pricing)
</Note>
21 changes: 12 additions & 9 deletions communicate/status-pages/incidents.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ sidebarTitle: 'Incidents'

Incidents are used to communicate downtime on one or more services. You can open incidents manually as part of your incident management process, or automatically by connecting a check to a service using incident automation.

When an incident is posted, a notification will be sent to all users subscribed to the status page, unless you opt out of notifications when creating the incident update.
When an incident is posted, a notification will be sent to all users subscribed to the Status Page, unless you opt out of notifications when creating the incident update.

## Creating an incident

Create an incident when you want to communicate downtime or known issues of your services to users via your status page.
Create an incident when you want to communicate downtime or known issues of your services to users via your Status Page.

1. Click ‘Status page’ in the sidebar and open your status page.
1. Click ‘Status pages’ in the sidebar and open your Status Page.
2. Click ‘Add incident’ at the top right, or click the fire icon at the bottom of the card that most relates to the incident you're about to create
3. Enter the name of the incident
4. Choose the severity of the incident
Expand All @@ -22,7 +22,7 @@ Create an incident when you want to communicate downtime or known issues of your

6. Write the initial incident update message, and update the status of the incident.
8. If you want to backfill the incident, select `Use custom date`. See [Backfilling incidents for more information](/communicate/status-pages/incidents#backfilling-an-incident).
9. Select if you want to notify subscribers of your status page about the incident.
9. Select if you want to notify subscribers of your Status Page about the incident.
10. Click ‘Create incident’

Your incident will now appear on all status pages that show the selected service(s). If you selected the option to notify subscribers, they will receive the update message by email.
Expand All @@ -32,7 +32,7 @@ Your incident will now appear on all status pages that show the selected service

## Updating an incident

To update an ongoing incident go to the ‘Incidents’ tab on your status page and select the incident to update.
To update an ongoing incident go to the ‘Incidents’ tab on your Status Page and select the incident to update.

![Incidents view](/images/docs/images/status-pages/status-pages-incidents-1.png)

Expand All @@ -45,7 +45,7 @@ From there, you can:

## Incident notifications

Whenever you post an incident update, Checkly can automatically send email notifications to users subscribed to your status page.
Whenever you post an incident update, Checkly can automatically send email notifications to users subscribed to your Status Page.

Emails are sent out only when an update is first posted. Notifications are not sent again if the incident update is edited.

Expand All @@ -59,21 +59,25 @@ Incident notifications contain information about the incident name, the severity

## Subscribing to incident notifications

Subscribing to incident notifications is done on your status page. To subscribe, a user needs to enter a valid email address. A verification email will be sent to the registered email, and the user will be ready to receive incident notifications after confirming the subscription.
Subscribing to incident notifications is done on your Status Page. To subscribe, a user needs to enter a valid email address. A verification email will be sent to the registered email, and the user will be ready to receive incident notifications after confirming the subscription.

## Incident automation

Incident automation opens incidents automatically whenever a check fails. It works by connecting a check to a service. Multiple checks can be connected to the same service through incident automation. After connecting:
* When the check fails and triggers an alert, it will also open an incident on the connected service.
* The incident will be automatically resolved when the check recovers.

<Note>
Incident automation is available on Communicate Team and Enterprise plans. [View pricing](https://checklyhq.com/pricing)
</Note>

1. Open your check from the home dashboard.
2. Click ‘Edit’ in the check overview page.
3. For API checks, URL monitors and TCP monitors, click the ‘Incident triggers’ tab. For Browser and Multistep checks, first click ‘Settings’ then ‘Incident automation’.
4. Check the ‘Enable incident automation’ checkbox.
5. Fill in the incident name, a first status update and the severity of the incident which will be created upon the check failing.
6. Select which service the incident should be opened on.
7. Select if the status page subscribers should be notified when the incident updates are automatically posted.
7. Select if the Status Page subscribers should be notified when the incident updates are automatically posted.
8. Save your check.

![Incident automation](/images/docs/images/status-pages/status-pages-incident-automation-1.png)
Expand All @@ -86,7 +90,6 @@ To backfill an incident, follow the steps 1 - 7 in the [Creating an incident](/c

![Incident backfilling](/images/docs/images/status-pages/status-pages-backfilling-1.png)


We recommend to uncheck notifications when backfilling incidents to avoid notifying customers about resolved incidents.

If you only want to provide the history of the incident, you can set the first incident update to resolved. This will correctly show the incident as having occurred, but without a duration. If you want to have correct uptime on your service you should post two incident updates, with the timestamps for when the incident started and resolved respectively.
60 changes: 38 additions & 22 deletions communicate/status-pages/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,16 @@ Status pages provide transparent communication about your service health and inc
![Status page example](/images/docs/images/status-pages/status-pages-overview-1.png)


## Core Status Page Components
## Core Status Page components

### Services

A service represents a functional piece of your application or website, such as landing page, API, support portal etc. You manage your services from the service overview page, accessible in the sidebar.

<Note>
The number of services and subscribers you can have varies by plan. [View pricing](https://checklyhq.com/pricing)
</Note>

When naming a service, use a name that is identifiable for your users, as this is used when sending out incident notifications.

Services are what connect checks and status pages. A service can listen to multiple checks and automatically opening incidents whenever one of these checks trigger a check failure alert. [See incident automation for more details](/communicate/status-pages/incidents#incident-automation).
Expand All @@ -28,9 +32,9 @@ A service can be used by multiple status pages. When an incident is opened for a

### Connecting services and status pages

To display a service on a status page, go to the status page editor and open the `Services` dropdown on the card you want to display your service on.
To display a service on a Status Page, go to the Status Page editor and open the `Services` dropdown on the card you want to display your service on.

Select your service from the list and save your status page. The page will now display the selected service.
Select your service from the list and save your Status Page. The page will now display the selected service.

You can also create new services directly from the dropdown by entering a new service name and pressing `Create`.

Expand All @@ -40,22 +44,34 @@ You can display the same service on multiple pages. An incident declared on that

Use incident automation to connect a service and a check to automatically open incidents for services based on check alerts. [See Incident automation for details](/communicate/status-pages/incidents#incident-automation).

## Status Page Best Practices

### Service Organization
- **User-centric services**: Create services based on user-facing functionality
- **Logical grouping**: Group related services together for clarity
- **Clear descriptions**: Use terminology your users understand
- **Appropriate granularity**: Balance detail with simplicity

### Incident Communication
- **Timely updates**: Provide regular updates during ongoing incidents
- **Clear messaging**: Use plain language to describe issues and impacts
- **Proactive communication**: Notify users before they notice problems
- **Transparent resolution**: Explain what was fixed and preventive measures

### Maintenance Planning
- **Advance notice**: Schedule maintenance announcements with sufficient lead time
- **Impact assessment**: Clearly communicate which services will be affected
- **Duration estimates**: Provide realistic timeframes for maintenance windows
- **Progress updates**: Keep users informed during maintenance activities
## Best practices for status pages

### Service organization

Create services that align with how your users think about your application:

```yaml
# Good service examples
Frontend Application:
- Website loading and navigation
- User interface responsiveness
- Client-side functionality

API Services:
- Core API endpoints
- Authentication services
- Data processing capabilities

Third-party Integrations:
- Payment processors
- Email delivery services
- External data sources
```

<Tip>
Create services to match how your users perceive your system, not according to your internal architecture. Users care about "Login" working, not whether your "Auth microservice cluster" is healthy.
</Tip>

### Incident communication

When an incident occurs, provide clear updates that explain what's happening and how it affects users. Write in plain language, avoiding technical jargon unless your audience is technical. Update the incident as you learn more about the issue, and close it with an explanation of what was fixed. Where possible, communicate proactively to maximize chances to warn users before they encounter problems themselves.
36 changes: 19 additions & 17 deletions communicate/status-pages/subscriber-notifications.mdx
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this guide for owners or for users of their status pages? I have mixed feelings, generally feels like they need to understand how subscribing to notifications works, from either perspective, but the simplest way possible? @thebiglabasky

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I picked up the docs as they were but believe the caveat about limits (for owners) is quite important to have if people have questions about that. To some degree it could also explain why users wouldn't receive notifications.
Finally, it helps owners understand the experience for subscribers without creating a status page so I'd keep it (if not for humans, for LLMs)

Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,25 @@ description: 'Configure subscriber notifications.'
sidebarTitle: 'Subscriber Notifications'
---



### Email Subscription System
Enable users to stay informed about service status:
## Subscribing to incident updates
Users can choose to be notified about any incident impacting your services by subscribing through your Status Page.

<Steps>
<Step title="Subscription Setup">
Users provide email address for status updates
</Step>

<Step title="Email Verification">
Verification email sent to confirm subscription
<Step title="Subscribing to incident updates">
To subscribe to notifications, users click the "Get updates" button at the top of the Status Page, and then fill out a form to enter their email address.
</Step>

<Step title="Notification Preferences">
Users can manage notification settings
<Step title="Verify email">
A verification email is sent to the user's email address to confirm the subscription.
</Step>

<Step title="Incident Notifications">
Automatic emails for incident updates and resolutions
<Step title="Receive incident notifications">
From that moment on, users with a confirmed subscription will receive emails for incident updates and resolutions. They can choose to unsubscribe from these emails at any time.
</Step>
</Steps>

### Notification Content Structure
Status page notifications include comprehensive incident information:
### Notifications content structure
Here is an example of a Status Page notifications email:

```text
Subject: [INCIDENT] Payment Processing - Service Disruption
Expand All @@ -46,9 +40,17 @@ Incident Details:
We are actively working to resolve this issue and will provide updates
as more information becomes available.

View status page: https://status.yourcompany.com
View Status Page: https://status.yourcompany.com
Unsubscribe: [unsubscribe link]

Best regards,
Your Company Team
```

## How Checkly deals with subscribers limits based on your plan

To ensure your users can subscribe to your status page, **extra subscribers will be automatically billed as overages** once you've bought a Communicate Starter or Communicate Team add-on.
You can monitor your subscribers and overages from [your Checkly account billing page](https://app.checklyhq.com/settings/account/billing).

If you have not purchased any Communicate add-on, we will continue accepting new subscribers to your page, yet will only send notifications to the first 250 subscribers. Once you upgrade to get more subscribers, those existing subscribers will start receiving notifications. [View pricing for more details about limits](https://www.checklyhq.com/pricing).

3 changes: 2 additions & 1 deletion docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,8 @@
"communicate/status-pages/overview",
"communicate/status-pages/creating-a-status-page",
"communicate/status-pages/customization",
"communicate/status-pages/incidents"
"communicate/status-pages/incidents",
"communicate/status-pages/subscriber-notifications"
]
},
{
Expand Down