Skip to main content

rawops.dev

RawMon Docs

Push Notifications & Alerts

Configure push notifications in RawMon: webhook relay, escalation schedule, HMAC signing, Critical Alerts, Live Activity, and notification sounds.

Last updated: 2026-04-24

How Push Notifications Work

RawMon uses a Cloudflare Worker as a push relay to deliver notifications from external monitoring tools to your device. The flow is:

  1. Your monitoring tool (Prometheus, Grafana, etc.) sends a webhook to the relay.
  2. The relay parses the payload, extracts status and message, and forwards it via Expo Push Notifications.
  3. Your device receives the notification with sound, badge update, and optional Critical Alert.

Webhook URL Format

Each device gets a unique push relay URL:

https://rawmon-push-relay.rawops.workers.dev/?source=SOURCE&deviceId=DEVICE_ID
  • source — The parser to use: prometheus, grafana, zabbix, datadog, pagerduty, newrelic, generic, script, healthchecks, betterstack, statuscake, uptimerobot, hetrixtools, gatus, kuma
  • deviceId — Your stable device identifier (generated once, persisted in SecureStore and backed up)

You can find your webhook URL in Settings > Push Notifications within the app.

Escalation Schedule

When a monitor goes DOWN, RawMon sends notifications on an escalating schedule:

Time After DOWNAction
0 minFirst alert
5 minSecond alert
15 minThird alert
1 hourHourly alert
4 hoursRepeating every 4 hours

Notifications stop immediately when the monitor recovers (status UP). Per-monitor notification toggle lets you silence individual monitors without affecting others.

HMAC Signing for Script Monitors

Script and heartbeat monitors support HMAC-SHA256 request signing to prevent unauthorized pings:

# Generate signature
SIGNATURE=$(echo -n "$BODY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2)

# Send with signature header
curl -X POST "$WEBHOOK_URL" \
  -H "Content-Type: application/json" \
  -H "X-RawMon-Signature: sha256=$SIGNATURE" \
  -d "$BODY"

The HMAC secret is configured per-monitor in the app and included in backups.

Notification Sounds

RawMon includes distinct notification sounds for different alert types. Sounds are configured in the dedicated Notifications settings screen (Settings > Notifications).

Critical Alerts (iOS)

On iOS, you can enable Critical Alerts to bypass Do Not Disturb and silent mode. This requires a special entitlement from Apple and user permission. When enabled, DOWN notifications play at full volume regardless of device settings — ideal for on-call scenarios.

Live Activity & Dynamic Island (iOS)

When a monitor goes DOWN, RawMon automatically starts a Live Activity — a persistent status banner that appears on the Lock Screen and in the Dynamic Island on supported iPhones. The Live Activity shows the monitor name, how long it has been down, and updates in real time as the incident evolves. It ends automatically the moment the monitor recovers, so the lock-screen banner dismisses itself without any action from you.

Live Activity triggers for every monitor source: native checks, Uptime Kuma events, all 6 cloud SaaS providers (UptimeRobot, Healthchecks.io, StatusCake, Better Stack, HetrixTools, Gatus), and every webhook-relay source (Prometheus, Grafana, Zabbix, Datadog, PagerDuty, New Relic, generic, script, and more). Prior to v1.1 only native checks started a Live Activity; the v1.1 release unified the behavior so any incident reaches the Dynamic Island the same way.

From v1.1.2 onwards, state-change updates (new downSince, message, rich status) are delivered directly to the Activity over APNs rather than waiting for the app to wake up. The result is no more "phone vibrates but Dynamic Island still says UP" — both arrive in the same second.

Configuration:

  • No toggle is required — Live Activity starts automatically when an incident is created and ends when it is resolved.
  • Requires iOS 16.1 or newer (iPhone 14 Pro and newer for the Dynamic Island experience; all ActivityKit-capable iPhones show the Lock Screen banner).
  • If you disable Live Activities globally for RawMon in iOS Settings, DOWN events will still deliver as push notifications — only the Dynamic Island / Lock Screen banner goes silent.

Live Activity is iOS-only. Android users see the same incident lifecycle through the persistent notification channel when Continuous Monitoring is enabled.

Alert History Sync

The Alerts tab shows a history of all received push notifications. Alerts sync with the incident system — a DOWN alert creates or updates an incident, and an UP alert resolves it. Badge count reflects the number of active incidents across all sources.

Test Notification

Use Settings > Push Notifications > Test Notification to verify your push setup is working. This sends a test payload through the full relay pipeline to confirm end-to-end delivery.