Status page subscriptions where your clients are. Nobody has to check.
Your clients subscribe to incidents and maintenance by email, SMS, push, Slack, Microsoft Teams or webhook, for the whole page or just the services that affect them. A badge and a widget bring the status to their own website as well.
Made and Hosted in the
European Union
GDPR-Compliant Hosting
in Germany
GEO-Redundant Replica
across the EU
Six channels. Every client picks theirs.
The IT lead wants an email, the support team wants Slack, the managing director an SMS. Everyone subscribes on your status page to the channel that suits them and picks the whole page or single components. Every subscription only becomes active after confirmation.
- Email, SMS, push, Slack, Microsoft Teams and webhook, so the message arrives where your client already looks.
- Subscriptions per component, so accounting never hears about the developer API and vice versa.
- Confirmation on every channel, so only people who really wanted to subscribe receive messages.

POST /api/status-pages/public/:slug/subscribe without login. Channels: email (default), sms and push (switched on per page, off by default), webhook, slack (Block Kit) and teams (Adaptive Cards). componentIds up to 100, empty means the whole page. Every subscription starts as pending: email by link, webhook, Slack and Teams by a first message, SMS by a six-digit code (valid 15 minutes), push automatically through the service worker.
Webhook, Slack and Teams: one attempt per event, 10-second timeout, disabled after five consecutive failures. At most 50 such subscriptions per page. Push uses Web Push with VAPID, end-to-end encrypted per RFC 8291. SMS draw from the organization's SMS quota and never exceed the safety cap.
Enough information. No noise.
Subscribers get what they actually need: the start of an incident, its updates and the resolution. For maintenance, you decide per maintenance whether a reminder and a start notice go out. When the status of an embedded third-party provider changes, your subscribers hear about it too.
- Incident, update, resolution as a fixed sequence, so nobody has to guess between messages.
- Maintenance messages switchable per maintenance, so a small maintenance does not trigger four emails.
- One-click unsubscribe in every message, so subscriptions stay voluntary and your brand never reads as spam.

Incidents: incident_open, incident_update, incident_resolved. Scheduled maintenance: maintenance_scheduled, maintenance_reminder, maintenance_started, maintenance_update, maintenance_cancelled, maintenance_completed. Reminder and start notice are switchable per maintenance and off by default. Updates always go out, and a cancellation reaches everyone who got the announcement. Postmortems: postmortem_published, only when chosen on publishing. Plus status changes of embedded third-party providers.
Every message carries an unsubscribe link, push an unsubscribe action, webhook payloads an unsubscribeUrl. Unsubscribing always works, even when the organization is inactive.
The status on your client's website. No script.
Not everyone visits a status page. With the badge, the current status sits in your client's footer or help center, and the widget adds open incidents and a link to the page. Both come as SVG or iframe, with no JavaScript on the website.
- Status badge as SVG, so the status shows in footers, help centers or READMEs.
- Embed widget by iframe with overall status and open incidents, so visitors do not have to go looking.
- RSS and Atom feed with every incident and maintenance, so the status can feed into any tool.

Badge: /status/<slug>/badge.svg, language via ?lang=en, de or da, English by default. Widget: /status/<slug>/embed as an iframe without script, with ?lang= and ?theme=light or dark, defaulting to the page's color scheme. The page's custom CSS does not apply inside the widget. Badge, widget and feeds are cached for up to 60 seconds.
All three exist only for published, public pages without an IP allowlist and without audience groups. Everywhere else they answer 404, so a private page never leaks through a badge.
Subscribers are client data. We treat them that way.
Anyone who subscribes to your status page trusts you with their address. That is why targets are stored encrypted, lists show numbers and URLs only shortened, and an export requires you to select the pages explicitly. Client A's subscribers never end up in client B's list by accident.
- Export only with page selection, so subscribers of different clients stay cleanly separated.
- Encrypted targets and shortened display, so phone numbers and webhook URLs never sit in plain view in the dashboard.
- Every export in the audit log, so you can prove who downloaded subscriber data and when.

GET /api/status-pages/:id/subscribers/export returns every row as CSV, newest first: email, status, locale, created_at, confirmed_at, channel, target, component_ids. For webhook, Slack, Teams and push, target holds only the origin, for SMS a shortened number. Values starting with =, +, - or @ get a leading quote against formula injection. The audit log stores only page and row count, never the addresses.
URL, SMS and push targets are stored encrypted. Email and SMS signups always answer { "ok": true }, so the endpoint never reveals whether an address already exists. Deleting removes the subscriber together with the stored consent evidence. Admins and editors may export and delete.
We don't just monitor. We help you sell.
Every Uptimeify subscription includes access to our Success Kit, a collection of battle-tested resources to turn your monitoring into a profit center.
Service Level Agreement templates to define professional boundaries with your clients.
Find the sweet spot for your care plans. Calculate margins based on check frequency and support hours.
Powerpoint Templates that explain 24/7 monitoring to non-technical clients. Close more retainers.
Use automated reports to proactively communicate value, so clients never ask what they're paying for.
Ready to turn monitoring into a profit center?
Claim your Success Kit and start scaling today.
Frequently Asked Questions
Email, SMS, browser push, Slack, Microsoft Teams and webhook. You switch SMS and push on per page. There is also an RSS and Atom feed. Every subscriber picks the whole page or only the components that affect them.
Yes. When subscribing, everyone can select up to 100 components of the page. Without a selection, the subscription covers the whole page. The marketing team gets messages about the shop and the developer team about the API, without disturbing each other.
SMS to subscribers count against your organization's SMS quota. Once it is used up, messages are only sent if you have switched on overage, and never beyond your monthly cap. That is why SMS subscriptions are off per page by default and only become active when you switch them on.
With the status badge as an SVG image or the embed widget as an iframe. Neither needs JavaScript. You set the language with ?lang=, and the widget also takes ?theme=light, dark or auto. You copy the code once, and the status updates itself from then on.
No, on purpose. Subscriptions, badge, widget and feeds exist only for public pages without an IP allowlist and without audience groups. Otherwise a badge or an email could reveal what is on a private page. For private pages, you inform through the page itself or your team's own channels.
For the technical stakeholder
Ready to bring the status to your clients?
Switch on the channels your clients use and put the badge in their footer. Next time something breaks, they know before they reach for the phone.