Guides

Step-by-step walkthroughs for common tasks. From setting up your first alert to building a public status page.

bolt

Setting Up Slack Alerts

Get notified in your team's Slack channel when a monitor goes down

Step 1: Create a Slack Webhook

Go to your Slack workspace's App Directory, search for "Incoming Webhooks", and create a new webhook for the channel you want alerts in.

Tip: Use a dedicated #ops-alerts channel to keep incident notifications separate from chat.

Step 2: Add the Webhook URL

Open Settings and paste your Slack webhook URL in the webhook field. Click "Test" to verify it works.

Step 3: Alert Behavior

Upwatch sends a Slack Block Kit formatted message when:

  • arrow_forward A monitor fails 3 consecutive checks (configurable threshold)
  • arrow_forward A previously-down monitor recovers — with downtime duration

Example Slack Payload

{
"monitor": "Production API",
"event": "down",
"status_code": 503,
"consecutive_failures": 3,
"started_at": "2026-03-27T14:02:11Z"
}
public

Creating a Public Status Page

Share system health with your team or customers

Your Status Page URL

Every Upwatch account gets an auto-generated public status page. Your slug is derived from your email address.

https://app.upwatch.dev/status/your-slug

What's Shown

The status page displays:

  • check_circle Monitor name and current status (Operational / Down)
  • check_circle 30-day uptime bar visualization per monitor
  • check_circle Global status banner (all operational vs. issues detected)

What's NOT Shown

For security, the public page does not expose URLs, configuration, headers, or any authentication details. Only monitor names and status are visible.

terminal

Automating with the API

Manage monitors programmatically via REST

Authentication

All API requests require a JWT token. Get one by logging in:

POST /api/auth/login
Body: { "email": "[email protected]", "password": "..." }
→ Returns access_token (15min) + refresh_token (7 days)

Creating Monitors in Bulk

Use a script to create multiple monitors at once. The API accepts standard JSON payloads.

# Create monitors from a list
for url in api.example.com cdn.example.com; do
curl -X POST /api/monitors \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "{\"name\":\"$url\",\"url\":\"https://$url/health\"}"
done

Token Refresh

Access tokens expire after 15 minutes. Use the refresh endpoint to get new tokens without re-authenticating. The Upwatch dashboard handles this automatically.

See also: Full API Reference for complete endpoint documentation.

warning

Understanding Incidents

How Upwatch detects, tracks, and resolves incidents

Detection

An incident is automatically opened when a monitor fails 3 consecutive checks (default threshold). This prevents false alarms from single transient failures.

Alerting

When an incident opens, Upwatch fires alerts to all configured webhooks. Alerts are rate-limited to 1 per monitor per 5 minutes to prevent notification storms.

Auto-Recovery

When the monitor starts passing checks again, the incident is automatically resolved and a recovery notification is sent with the total downtime duration.

cloud_off

3 Failures

Incident opens

notifications_active

Alert Sent

Webhook fired

check_circle

Recovery

Auto-resolved

verified_user

TLS Certificate Monitoring

Never let a certificate expire unexpectedly

Every HTTPS check automatically inspects the TLS certificate and records its expiry date. You can see the days remaining in the monitor detail view.

144

days — OK

21

days — Warning

5

days — Critical

The monitor detail page color-codes the TLS expiry: green (>30 days), yellow (<30 days), red (<7 days).