Skip to content

Pushover integration

Pushover delivers push notifications to your own devices without SMS costs. SiteQwality sends outage alerts at high priority so they bypass quiet hours, and recoveries at normal priority.

Two values, both from Pushover.

  1. User Key. Shown on your Pushover dashboard as soon as you log in. A group key works too.

  2. App Token. Create an Application in Pushover and copy its API token. Pushover requires the message to be attributed to an application, so this is not optional.

In the dashboard, Integrations → Add Integrations → Pushover. Fill in User Key and App Token, then click Add. Or via the API:

Terminal window
curl -X POST https://api.siteqwality.com/integration/pushover \
-H "Authorization: Bearer $SITEQWALITY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"friendly_name": "Ops phones",
"user_key": "<pushover-user-or-group-key>",
"app_token": "<pushover-application-api-token>"
}'

All three fields are required and must be non-empty. Neither credential is verified against Pushover at save time.

Both are secrets: GET /integration returns "details": {} for Pushover, and both values are redacted from the stored delivery record.

Terminal window
curl -X POST https://api.siteqwality.com/notification \
-H "Authorization: Bearer $SITEQWALITY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"notification_group_id": "<your-group-id>",
"type": "pushover",
"details": { "pushover_integration_id": "<pushover-integration-id>" }
}'

Priority is set automatically per event type and is not configurable:

EventPushover priority
Monitor down1 (high, bypasses your quiet hours)
Monitor recovered0 (normal)
Domain expiry warning0 (normal)

Priority 2 (emergency, requires acknowledgement) is deliberately not used, because it needs retry and expiry parameters plus acknowledgement handling that SiteQwality does not implement.

Pushover sends are not retried in-process, because re-sending is not idempotent and would show up as a duplicate push on your phone. A single attempt is made; if it fails, the notifier fails the event so the delivery is retried at the queue level.

The practical consequence: a transient Pushover failure can still produce a duplicate push, but a lost alert is not silently swallowed.

Pushover channels fire for HTTP monitors, browser checks, and DNS/domain expiry. TLS expiry and cron/heartbeat monitors only support email, SMS, and Slack today. Page-speed alerts also do not support Pushover.