Send Apprise notifications to Vigil
Apprise is the notification library many self-hosted tools use: backup scripts, Home Assistant, changedetection.io and plain cron jobs. Its jsons:// target can post to Vigil by PuzariCloud's alert ingestion today: a failure opens an incident and alerts your Vigil channels (Slack, Teams, Telegram, WhatsApp, on-call…), and a later success with the same title resolves it. Works on the Free plan.
Set it up
- Create an ingestion source in Vigil. Open Alert ingestion, add a source of type Generic JSON webhook, pick the channels (and optionally the status page) it should alert, and copy its URL. It looks like https://puzaricloud.in/ingest/<token>; the token is the only credential, so keep it private.
- Use this Apprise URL, with your token:
jsons://puzaricloud.in/ingest/<token>?:type=status
Apprise posts title, message and type (info, success, warning or failure). The ?:type=status part renames type to status, which Vigil reads: success resolves, everything else opens or updates an incident. - Test it from any machine with Apprise installed:
apprise -t "Nightly backup" -b "pg_dump exited 1" -n failure "jsons://puzaricloud.in/ingest/<token>?:type=status" apprise -t "Nightly backup" -b "Backup finished" -n success "jsons://puzaricloud.in/ingest/<token>?:type=status"
The first opens an incident called “[<source name>] Nightly backup” and alerts the source's channels; the second resolves it.
How messages become incidents
- Grouping is by title. Apprise sends no alert id, so Vigil groups messages by their title: repeated failures with the same title update one open incident, and a success with the same title closes it. Use a stable title per job (“Nightly backup”, not “Backup failed at 02:13”).
- Without ?:type=status every message, success included, opens or updates an incident. Add it.
- Info and warning messages open incidents too. If a tool sends chatty info messages, give it its own Apprise URL list without Vigil, or a separate ingestion source with quieter channels.
- Vigil answers 200 with the number of alerts received, opened and resolved; 404 for an unknown token, 413 above 256 KB and 429 once the daily cap below is used up.
Limits per plan
| Plan | Ingestion sources | Alerts a day |
|---|---|---|
| Free | 1 | 200 |
| Starter | 3 | 5,000 |
| Pro | 15 | 100,000 |
| Business | 100 | 1,000,000 |
Why route Apprise through Vigil?
Apprise fires a notification and forgets it. Sent to Vigil, the same message becomes an incident with a timeline, follows your on-call rotation and escalation, can show on a status page, and is closed by the matching success. For jobs that should report in on a schedule, a heartbeat monitor also catches the run that never happened, which no notification can.
Sources
- Apprise on GitHub (caronc/apprise) (read 19 October 2026)
- Apprise docs: the JSON notification service (json://, jsons://, payload mapping) (read 19 October 2026)
Apprise is an open-source project by Chris Caron. Vigil by PuzariCloud is not affiliated with it, and Apprise has no built-in Vigil target: this recipe uses its generic JSON target.