CyberCLI

← All engines · Delivery

Pushover adapter

beta

v0.9.0 · last updated 2026-06-06 · source: cybercli.delivery.channels.pushover

§1

What it does

Mobile push via pushover.net with priority + sound mapping — the channel for operators who want a polished mobile experience without standing up their own ntfy.

§2

Why you care

Pushover is the premium-feel mobile push channel. Custom sounds per priority, persistent retry-until-ack for emergency-priority messages (priority 2), and per-device delivery without app-store gymnastics. For operators willing to spend $5 once for the app, it's the cleanest mobile experience in the channel roster.

Pushover emergency priority (priority 2) is the one third-party channel today that has its own repeat-until-ack semantic. The adapter wires CYCON 1 to priority 2 so a max-defense alert keeps re-buzzing on the operator's phone every 30 seconds until they acknowledge in the Pushover app. The CyberCLI AckLoopEngine and Pushover's native re-fire are both honored.

§3

How it works

The adapter pulls the user key + application token from the CredentialVault and POSTs to Pushover's `/messages.json` with the title, message, priority, sound, and (for priority 2) the retry interval + expire time.

CYCON-to-priority mapping: CYCON 1 → priority 2 (emergency, retry every 30s for 3 hours), CYCON 2 → priority 1 (high, bypass quiet hours), CYCON 3 → priority 0 (default), CYCON 4-5 → priority -1 (quiet, no sound).

§4

Configure & observe

CLI

$ cybercli channels test <destination_id>

Send a test Pushover message with priority 0; verify the user receives it.

Dashboard surfaces

/channels (pushover card)

Configure the user key (vaulted) and the application token (vaulted). Optional per-device target.

Audit row shape

Outcomes emitted
notification_sentnotification_failed
Parameters block

parameters.channel: pushover + parameters.destination_id + parameters.pushover_request_id (returned by Pushover for forensic correlation against their own delivery logs) + parameters.priority_used.

§5

Status

Beta — the standard priorities are stable; the priority-2 emergency-retry semantics interact with the CyberCLI AckLoopEngine and the dual-loop interaction is still being polished. For now the engine's AckLoop respects Pushover's native ack (when the operator acks in the Pushover app, the engine's loop clears) but the timing parameters are not yet tunable per-installation.

How this engine talks to the rest

Upstream · feeds this engine
Downstream · this engine feeds