Notify your phone from any shell script
The entire integration is one curl — no SDK, no client library, works from any script that can shell out to curl.
If a script can run curl, it can reach your phone. This is the whole integration — everything else in the recipes section is this same request, reshaped for a specific tool’s webhook format.
The one-liner
curl -X POST "https://<host>/events/<username>/<Channel%20Name>" \
-H "Content-Type: application/json" \
-d '{"title":"Job finished","message":"'"$(hostname)"' at '"$(date -Is)"'"}'
title and message are the only required fields. Everything else — priority, nature, dataJson, callback — is optional on the same payload; see the API contract for the full list.
A reusable function
Drop this in .bashrc or a shared script library and every job just calls notify:
notify() {
local title="$1" message="$2" nature="${3:-}"
curl -sS -X POST "https://<host>/events/<username>/Scripts" \
-H "Content-Type: application/json" \
-d "$(printf '{"title":%s,"message":%s%s}' \
"$(jq -Rn --arg t "$title" '$t')" \
"$(jq -Rn --arg m "$message" '$m')" \
"${nature:+,\"nature\":\"$nature\"}")"
}
notify "Backup done" "$(hostname) — $(date)"
notify "Disk almost full" "/var at 94%" "critical"
jq -Rn --arg handles the JSON-escaping for you, so a message with quotes or newlines in it doesn’t break the payload — worth the one extra dependency the moment your messages aren’t hand-typed constants.