# Ntfy

Send push notifications to your phone or desktop via PUT/POST

- **Category:** notifications
- **Auth:** API_KEY, BASIC
- **Composio Managed App Available?** N/A
- **Tools:** 13
- **Triggers:** 0
- **Slug:** `NTFY`
- **Version:** 20260312_00

## Tools

### Create NTFY Account

**Slug:** `NTFY_CREATE_ACCOUNT`

Tool to register a new user account on ntfy. Use when you need to create a new user account on the ntfy.sh hosted service. Note: This endpoint is not available on self-hosted instances unless signup is explicitly enabled in the server configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `password` | string | Yes | The password for the new account. Should be strong and secure. |
| `username` | string | Yes | The desired username for the new account. Must be unique and meet format requirements (typically alphanumeric with certain special characters allowed). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Web Push Subscription

**Slug:** `NTFY_CREATE_WEBPUSH_SUBSCRIPTION`

Tool to register a web push subscription for browser notifications. Use when you need to enable push notifications from ntfy topics through a browser's native push notification system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `auth` | string | Yes | The authentication secret from the browser's push subscription, used to authenticate messages. Base64-encoded auth secret. |
| `p256dh` | string | Yes | The P-256 elliptic curve Diffie-Hellman public key from the browser's push subscription, used for message encryption. Base64-encoded public key. |
| `topics` | array | No | List of ntfy topic names to subscribe to. Maximum of 50 topics allowed. If user authentication is enabled, the user must have read access to all specified topics. |
| `endpoint` | string | Yes | The push service endpoint URL from the browser's push subscription. Must be from an approved domain (*.google.com, *.googleapis.com, Mozilla, Microsoft, Apple push services). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Web Push Subscription

**Slug:** `NTFY_DELETE_WEBPUSH_SUBSCRIPTION`

Tool to unregister a web push subscription from the ntfy server. Use when you need to remove browser push notifications for a previously registered endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endpoint` | string | Yes | The web push subscription endpoint URL to delete. This is the browser-provided push endpoint (e.g., from fcm.googleapis.com, Mozilla, Microsoft, or Apple push services) that was previously registered. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Scheduled Messages

**Slug:** `NTFY_FETCH_SCHEDULED_MESSAGES`

Tool to fetch messages scheduled for later delivery from a topic. Use when you need to retrieve messages that are set to be delivered at a future date. The poll=1 and scheduled=1 parameters are automatically set to retrieve cached scheduled messages in a single request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `auth` | string | No | Base64-encoded authentication query parameter as alternative to Authorization header for protected topics. |
| `topic` | string | Yes | Topic name to fetch scheduled messages from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Account Information

**Slug:** `NTFY_GET_ACCOUNT`

Tool to retrieve account data for authenticated user or anonymous user. Use when you need to get account information, limits, statistics, or tier details.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Server Statistics

**Slug:** `NTFY_GET_STATS`

Tool to retrieve server statistics including message counts and publishing rates. Use when you need to monitor ntfy server activity and get metrics about message volume.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Service Tiers

**Slug:** `NTFY_GET_TIERS`

Tool to list all available ntfy service tiers with their limits and features. Use when you need to retrieve subscription tier information including pricing and usage limits. Requires that payments are enabled on the server.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get File Attachment Metadata

**Slug:** `NTFY_HEAD_FILE`

Tool to get file attachment metadata from a message without downloading the file content. Use when you need to check file size, content type, or verify file existence in the ntfy attachment cache.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `message_id` | string | Yes | The unique identifier for the message/file attachment. Must be 1-64 characters consisting of alphanumeric characters, hyphens, or underscores. An optional file extension may be appended (e.g., .txt, .jpg). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check NTFY Service Health

**Slug:** `NTFY_HEALTH_CHECK`

Tool to check the health status of the ntfy service. Use when you need to verify if the ntfy service is operational and responding correctly.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Publish Message to Topic

**Slug:** `NTFY_PUBLISH_MESSAGE`

Tool to publish a message to a ntfy topic. Use when you need to send notifications or alerts to a topic. Topics are created dynamically if they don't exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `icon` | string | No | URL to a custom icon image to display with the notification. |
| `tags` | string | No | Comma-separated list of emoji shortcodes or text tags to display with the notification. |
| `click` | string | No | URL to open when the notification is clicked. |
| `delay` | string | No | Schedule the notification for delayed delivery (e.g., '30m', '1h', 'tomorrow 10am'). Minimum delay is 10 seconds, maximum is 3 days. |
| `email` | string | No | Email address to forward the notification to. |
| `title` | string | No | Optional notification title. If not provided, topic name is used. |
| `topic` | string | Yes | The topic name to publish the message to. Topic will be created dynamically if it doesn't exist. |
| `attach` | string | No | URL of a file to attach to the notification. |
| `actions` | string | No | Action button definitions (maximum 3 buttons per message). Format: 'action, label, url; ...' |
| `message` | string | Yes | The message body text to publish. |
| `filename` | string | No | Custom filename for the attachment (only used if attach is specified). |
| `markdown` | boolean | No | Enable Markdown formatting in the message body. Default is False. |
| `priority` | integer ("1" | "2" | "3" | "4" | "5") | No | Priority level (1=min, 2=low, 3=default, 4=high, 5=max/urgent). Default is 3. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Publish Message via GET

**Slug:** `NTFY_PUBLISH_VIA_GET`

Tool to publish messages to ntfy via GET request with URL parameters. Use when PUT/POST methods are unavailable or for simple webhook integration. Supports all message parameters as query strings. Without parameters, sends 'triggered' as message.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `auth` | string | No | Authentication credentials as query parameter. |
| `call` | string | No | Trigger phone call notification (phone number or 'yes'). |
| `icon` | string | No | Notification icon URL. |
| `tags` | string | No | Comma-separated list of emoji/tag identifiers. |
| `cache` | string | No | Control message caching behavior. |
| `click` | string | No | Target URL opened when notification is clicked. |
| `delay` | string | No | Schedule delivery using duration or timestamp (e.g., '30m', '1h', 'tomorrow 10am'). |
| `email` | string | No | Forward notification to specified email address. |
| `title` | string | No | Notification title that overrides the topic name. |
| `topic` | string | Yes | The topic name to publish the message to. This will be part of the URL path. |
| `attach` | string | No | Attachment file URL. |
| `actions` | string | No | Custom action button definitions (string format for GET requests). |
| `message` | string | No | Custom message body text. If not provided, defaults to 'triggered'. |
| `filename` | string | No | Custom attachment filename (only used if attach is specified). |
| `firebase` | string | No | Control Firebase push notification behavior. |
| `markdown` | boolean | No | Enable Markdown formatting in message body. |
| `priority` | integer | No | Urgency level from 1-5 (1=min, 3=default, 5=max). Default is 3 if not specified. |
| `template` | string | No | Template name for JSON transformation (e.g., 'github', 'grafana', 'alertmanager'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Subscribe to Topic (Raw Stream)

**Slug:** `NTFY_SUBSCRIBE_RAW_STREAM`

Tool to subscribe to a topic and receive message bodies as raw text stream. Use when you need to retrieve messages without metadata like priority, tags, or titles. Each line in the response contains only the message body. Empty lines represent keepalive messages. In streaming mode, the connection remains open to receive new messages. With poll=1, cached messages are returned and the connection closes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Filter returning only exact message ID matches. |
| `poll` | boolean | No | Return cached messages and close connection. If true (poll=1), returns all cached messages and closes connection. If false or not set, streams messages in real-time. |
| `tags` | string | No | Filter by comma-separated tags. Returns messages matching all listed tags. |
| `since` | string | No | Return cached messages since timestamp, duration or message ID. Examples: '10m', '1645970742', 'nFS3knfcQ1xe', 'all', 'latest'. |
| `title` | string | No | Filter for exact title string matches. |
| `topic` | string | Yes | The topic name to subscribe to. |
| `message` | string | No | Filter for exact message body matches. |
| `priority` | string | No | Filter by comma-separated priorities. Returns messages matching any listed priority. |
| `scheduled` | boolean | No | Include scheduled/delayed messages in message list. Set to true to include scheduled messages. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
