---
title: Subscribers
description: Let users follow your status page by email, webhook or Slack — and pick which components they hear about.
sidebar:
  label: Subscribers
---

{/* Source of truth: packages/shared/src/status-pages.ts — SubscriberTypes
    (EMAIL, WEBHOOK, SLACK), componentIds filtering. Routes:
    public.subscribe*, public.verify, public.unsubscribe in routes.ts.
    Verification: raw token exists only pre-persist; DB stores the hash. */}

Subscribers are your users, not your team. They opt in on the public status page
and get told when something changes — which is the difference between a status
page people check and one that reaches them.

## Three kinds

| Type | Needs | For |
| --- | --- | --- |
| `EMAIL` | An email address | Most people |
| `WEBHOOK` | A URL, optionally a secret | Customers automating against your status |
| `SLACK` | A Slack incoming webhook URL | Customers who want it in their own workspace |

## Per-component subscriptions

A subscriber can follow **specific components** rather than the whole page.

This matters more than it sounds. A customer who only uses your API does not
want an email every time your marketing site has a wobble — and if they get
one, they unsubscribe, and then they miss the outage that does affect them.

## Email verification

Email subscribers confirm their address before receiving anything. They get a
verification link; the subscription is inactive until they click it.

This is not optional and cannot be skipped, which prevents your status page
being used to send unsolicited mail to an address someone else typed in.

Every notification carries an unsubscribe link.

:::note
The verification email is sent immediately at sign-up, because the raw token
only exists in memory at that moment — Glowo stores a hash of it and can never
re-send the original. If a subscriber loses the email, they sign up again.
:::

## Spam protection

The subscribe form is protected against bulk automated sign-ups. There is
nothing to configure and nothing for your users to solve: the check runs in the
browser and costs a real visitor nothing, and if it cannot complete the form
still submits rather than turning someone away.

## Webhook subscribers

Webhook subscribers receive a POST when status changes. If a secret is set, the
request is signed the same way [alert webhooks](/alerting/webhook) are, and the
same rule applies: verify over the raw body, and deduplicate.

## Managing subscribers

Subscribers are listed on the status page in the dashboard. You can see who has
verified and remove anyone.

:::caution
Subscriber lists are personal data. Only collect what you need, and remember
that exporting or repurposing the list for marketing is a different legal basis
than "tell me when your service is down".
:::
