Limitations
Understand the constraints that apply to all interpreters, including which ntfy features are available and how input is processed.
Unsupported ntfy Headers
The proxy builds outgoing headers from the interpreter's notification object. Only 8 headers are supported:
| Header | Notification Field | Description |
|---|---|---|
X-Title | title | Message title. |
X-Priority | priority | Priority level from 1 (min) to 5 (max). |
X-Tags | tags | Comma-separated tags and emoji shortcodes. |
X-Markdown | markdown | Enable Markdown rendering. |
X-Icon | icon | URL of a custom notification icon. |
X-Actions | actions | Action buttons (view, broadcast, http). |
X-Attach | attach | URL of a file to attach. |
X-Filename | filename | Filename for a binary attachment. |
ntfy supports additional headers that the proxy does not forward: X-Click, X-Delay, X-Email, X-Call, and X-Template. Incoming request headers are not passed through — the proxy constructs all outgoing headers from the interpreter output.
The ntfy-json interpreter provides the most control, but is still limited to the 8 fields above. For the full list of ntfy-supported headers, see the ntfy publishing docs.
HTML Stripping
All interpreter output bodies have HTML tags removed and common entities decoded before delivery:
&→&<→<>→>"→"'→' →
This applies after interpretation and before formatting, so interpreters can work with raw HTML internally.
Notification Suppression
Interpreters can return null to intentionally suppress a notification.
- HTTP contexts — Returns
{"status": "ignored"}with HTTP 200. - Email contexts — Silently drops the message. No response is sent to the sender.
Currently, only the statuspage interpreter uses suppression — for duplicate incident updates detected via KV and component-only updates without a bound KV namespace.
Interpreter Availability by Context Type
| Interpreter | HTTP | Notes | |
|---|---|---|---|
plain-text | Yes | Yes | Available in CLI menu for both types. |
ntfy-json | Yes | No | JSON payloads only — not applicable to email. |
seerr | Yes | No | Webhook-only service. |
synology | Yes | No | Webhook-only service. |
statuspage | Yes | No | Webhook-only service. |
pfsense | No | Yes | Email alerts only. |
unifi | No | Yes | Email alerts only. |