Know before your customers tell you

A service can be healthy in your container and still be down for the public. This checks the public version of your app from outside your network every hour, every two minutes once an answer goes missing, and alerts you in a Slack channel you chose.
Trigger
Uptime
Lands in
Dashboard, with incidents in Slack
Setup
1 min
Needs
Nothing else
#ops
ViaApp3:04 AM

๐Ÿšจ Checkout API is down

HTTP 504 ยท down 4m

Checked
https://api.example.com/health
Status
504
Open the board

The same message is updated as it recovers, so one outage stays one line.

What this guide produces, as it appears in Slack.

Three steps, about a minute

No install, no deploy. If the URL is public, it can be watched.

Step 1Add the endpoint

Give it a name and a URL. It works for APIs, status pages, webhook receivers, and marketing sites.

Step 2Optional: Pick a channel

Choose where incidents should open, or leave it blank and let the check report on the board instead of in Slack.

Step 3Watch the board fill in

Each check carries a week of six-hour bars beside its 24-hour and 7-day uptime and its median response time, so a service that has been flapping since Tuesday shows up before it becomes a headline.

What counts as up
A 200 response is up. If the body is JSON, it cannot say {"ok": false}. That is how a service says it is serving and still knows it is broken. A non-JSON body is also fine, as long as the status code accurately reflects the health of the service.

Anything that answers

Most teams start with the app customers touch, then add the quiet dependencies nobody notices until they fail.

https://api.example.com/healthhttps://example.com/https://hooks.example.com/readyhttps://status.example.com/api/health

One outage, one card

The point of an alert is that somebody actually reads it.

Two misses, then a card

A single failed probe is ignored, because a deploy is a single failed probe. It puts the endpoint back on a two-minute clock, and a second miss opens an incident in the channel you picked.

Edited, not repeated

The alert is updated in place while the outage runs, and a reminder is posted in its thread every six hours. When it comes back, the recovery is written on the same message.

History, not just now

Every probe is kept for 30 days. The board shows uptime over 24 hours and 7 days and the median response time, so a slow service is visible before it becomes a complaint.

It reports itself on Monday

Nobody opens a monitoring board to find out that nothing broke. With the power on, the Weekly Pulse carries its own 7-day uptime line.

  • Interesting endpoints rise to the top. Down right now, an incident in the last seven days, or paused with nothing being checked. Everything else stays in the count underneath.
  • Attention order. The live failure comes first, then the least reliable checks, then anything that has been quiet for a while.
  • A green week still gets a line. If nothing notable happened, the section reads All 6 endpoints up ยท 99.98%, weighted across the probes that actually ran.
๐Ÿšฆ Uptime by day
Uptime by day, from the pulse thread
The pulse posts a follow-up in its own thread with a button for each power, and Uptime by day opens the breakdown above. It follows the same 7-day window in your workspace timezone and workweek order.

Common questions

What teams ask before they turn this on.

What does a health endpoint have to return?

A 200 response. If it returns JSON, it cannot say {"ok": false}. Redirects that fail, 500s, timeouts, and empty responses all count as down.

How quickly will I know?

A healthy endpoint is checked once an hour. The moment one check misses it goes back on a two-minute clock, and two misses in a row open an incident, so you hear within the hour and usually sooner.

Will a long outage keep pinging the channel?

No. The original alert is edited in place while the outage lasts, and a reminder is posted in that thread every six hours. When it comes back, the recovery is written on the same message.

Can I watch something that is not public?

Only if it is reachable from the public internet. Private addresses and internal hostnames are blocked.

Does every check have to alert in Slack?

No. You can leave the channel empty and still keep the check on the board. Some things are worth watching without waking anyone at 3am.

Get started

Turn on Uptime Monitoring in Powers, then add your first endpoint. A name, a URL, and a channel is all it takes.

Add Viably to Slack