Support menu
Connect your tools
Connect GitHub, Grafana, Alertmanager and Uptime Kuma by pasting a webhook URL, and ntfy and Prowl senders by changing their server address.
Most tools can reach Nowlark without a line of code. Pick the way that fits what you have.
Webhook templates#
POST /v1/hooks/{template} takes the body another tool already sends and turns it into a notification.
| Template | What arrives | Priority |
|---|---|---|
github |
Pushes, pull requests (opened, reopened, merged, closed, ready), issues, finished workflow runs, releases |
A failed workflow is High; a passing one is Low |
alertmanager, grafana |
A firing or resolved group, with up to five alerts summarised |
Critical is Urgent, warning or error is High, resolved is Normal |
uptime-kuma |
Up, Down, Pending and Maintenance, and the Test button |
Down is High, Up is Normal |
- Resolved replaces firing. Each alert, monitor or workflow keeps one notification, so your phone shows what is true now.
- Noise is not a notification. An event a template does not render, like a GitHub star, is accepted and ignored. It does not count against your hour.
- Add
?source=or?priority=to the address to override the template's. - For a sender that cannot set a header, such as GitHub, put the key in the address as
?key=nlk_…. Make a key just for that sender and revoke it if the address leaks.
GitHub's address looks like https://nowlark.com/v1/hooks/github?key=nlk_…. Choose application/json for the content type.
Anything with an ntfy option#
Uptime Kuma, changedetection.io and many self-hosted apps built on Apprise have an ntfy notifier. Nowlark answers ntfy's publish interface, so they work unchanged.
| In the tool | Put |
|---|---|
Server URL |
https://nowlark.com |
Topic |
Any name. It becomes the source, so give each tool its own. |
Access token |
Your nlk_… key |
Priority |
ntfy's 1 to 5, which is Nowlark's −2 to 2 step for step |
For Apprise the address is ntfys://nowlark.com/<topic>?token=nlk_…. Nowlark receives; it is not an ntfy server to subscribe to.
Scripts that already speak Prowl#
Change the address your script posts to and keep the rest. Prowl's priority numbers mean what they meant, and now priorities 1 and 2 also break through a Focus. Moving from Prowl covers it call by call. An app's built‑in Prowl option usually cannot be pointed elsewhere; use its ntfy option instead.
Your own code#
The Python and JavaScript clients are two small files with no dependencies and no secret in them. Any language works with a plain web request: the API reference has curl, Python, Node and shell examples.
Let an AI agent do it#
Set up with an AI agent gives you one prompt to paste into your coding agent. It asks what it needs, builds the integration in your project and sends a real test notification.
Test before you trust#
Settings › Connect an App has your server address, your key and a ready command. Send a Test on the empty feed delivers a notification with a link, so you can check both the banner and where links open.