ntfy
Slug: ntfy
Provider: ntfy.sh or self-hosted ntfy server
Inbound ACK: Yes — via ntfy action button
How it works
PSAPLink publishes a notification to an ntfy topic. The ntfy app on the user's device displays the alert. If the message includes an ACK action button (configured automatically), tapping it sends a callback to POST /api/v1/inbound/ntfy which resolves the acknowledgement.
Configuration schema
| Field | Type | Required | Description |
|---|---|---|---|
topic | string | Yes | ntfy topic name. Must be unique — anyone knowing the topic can subscribe. |
server_url | string | No | ntfy server URL (default: https://ntfy.sh). Use your self-hosted URL here. |
token | string | No | Access token for private topics (Bearer auth). Required if your topic has access control enabled. |
priority | string | No | Message priority: urgent, high, default, low, min (default: maps from incident priority). |
Create a channel
POST /api/v1/transport-channels
Authorization: Bearer <token>
Content-Type: application/json
{
"transport_type_slug": "ntfy",
"name": "Operations ntfy",
"config": {
"topic": "psaplink-alerts-ops",
"server_url": "https://ntfy.sh",
"priority": "high"
}
}
Self-hosted ntfy
If you run a private ntfy server, set server_url to your instance URL and use token for authentication:
{
"topic": "your-private-topic",
"server_url": "https://ntfy.yourorg.gov",
"token": "tk_your_access_token"
}
Inbound ACK
The PSAPLink notification message includes an action button. When the user taps "ACK" in the ntfy app, ntfy calls back POST /api/v1/inbound/ntfy with the delivery_id, which PSAPLink uses to resolve the notification.
No additional configuration is needed on the ntfy side — the action URL is embedded in the outbound message.
Test the channel
POST /api/v1/transport-channels/{id}/test
Authorization: Bearer <token>
Limitations
- Topic security: ntfy topics on
ntfy.share public by default — anyone who knows the topic name can subscribe. Use a long, random topic name or a self-hosted instance with access control for sensitive deployments. - ACK callbacks require the ntfy app to be running on the device at the time the action is tapped.