---
title: Push Notification
description: Send a push notification to your phone via ntfy or Pushover, with priority and a click-through URL.
---

Send a notification to your phone through ntfy or Pushover, so you hear about a change even when you are away from the browser.

Optional: pick a saved connection in the **Credential** field when the service needs one.

## Try it

## What it does

Pick a **Provider** and the node sends one notification with your **Message**, an optional **Title**, a **Priority** and a **Click URL** that opens when you tap the notification.

* **ntfy** is free and open source, and needs no account: the node publishes to a topic, and every phone subscribed to that topic in the ntfy app gets the message. It uses `https://ntfy.sh` unless you set **Server** to your own ntfy server. **Tags** add emoji icons, for example `warning` or `tada`.
* **Pushover** is a paid app (one-time purchase) that delivers to your own devices. It needs an application token and your user key.

The node sends one notification each time it runs. To send one summary for many items, collect them first with [Digest](/nodes/builtin/core/digest/) or [Aggregate](/nodes/builtin/datatransformation/aggregate/).

## When to use it

* Get pinged on your phone when a price or a stock status changes on a page you watch.
* Know when a long workflow has finished, or failed.
* Send yourself a short daily summary built by earlier nodes.

For a desktop notification without an account, use [Browser Notification](/nodes/extension/browsernotification/). To post to a team channel, use [Slack](/nodes/builtin/integration/slack/), [Discord](/nodes/builtin/integration/discord/) or [Telegram](/nodes/builtin/integration/telegram/).

## Inputs and settings

Call the Push Notification API yourself with the HTTP Request node, and pick the same connection in its **Credential** field.

* **Topic** works like a password on the public ntfy server: anyone who knows it can read your notifications. Pick something long and random, like `my-alerts-7f3k9q`.
* **Priority** changes how insistently the phone alerts. On Pushover, `Lowest (no alert)` delivers without a sound or vibration.
* **Click URL** should be a full address starting with `https://`. Use an expression such as `{{ $input.url }}` to open the page the alert is about.

## Outputs

The output is the provider's reply. ntfy returns the published message, including its `id`, `time` and `topic`. Pushover returns `status: 1` and a `request` id. Most workflows end here, or continue without using these fields.

## Dependencies and credentials

* **Credential** (connection): optional. See [Create a connection](/app/connections/).

- **ntfy on ntfy.sh, public topic**: leave **Credential** empty.
- **ntfy server with access control**: use a Bearer Token credential with an access token from that server.
- **Pushover**: create an application at [pushover.net](https://pushover.net) to get an **application token**, and copy your **user key** from your Pushover dashboard. Save them as a Basic Auth credential: the application token as **Username**, your user key as **Password**.

See [Create a credential](/app/connections/create/).

## Example workflow

1. An [Element Change](/nodes/builtin/trigger/elementchange/) trigger watches **CSS Selectors** `.price` on a product page, limited by **URL Patterns** to that page.
2. Push Notification, **Provider** `ntfy`, **Topic** `my-alerts-7f3k9q`, **Title** `Price changed`, **Message** `Now {{ $input.matchedText }}`, **Priority** `High`, **Tags** `moneybag`, **Click URL** `{{ $input.url }}`.
3. On your phone, subscribe to `my-alerts-7f3k9q` in the ntfy app.

## Common issues

* **The ntfy notification never arrives.** The phone is subscribed to a different topic or server. Check the exact **Topic** spelling and that the app uses the same **Server** (`https://ntfy.sh` by default).
* **"Pushover needs a Basic Auth credential with the application token in Username and your user key in Password."** No credential is selected, or it is not a Basic Auth credential with both fields filled.
* **"Pushover Error: 400 …" followed by a message about the token or user key.** The two values are swapped or mistyped. The application token goes in **Username**, the user key in **Password**.
* **"ntfy Error: 403 Forbidden" or "401".** The ntfy server needs an access token. Add a Bearer Token credential.
* **The run is blocked in the web app.** Push Notification runs through the browser extension. Install it, or run the workflow from the extension. In the web app with the extension installed, only ntfy.sh and Pushover can be used, not your own ntfy server.

## Recipes with this node

## Related nodes

* [Browser Notification](/nodes/extension/browsernotification/): a desktop notification, no account needed.
* [Digest](/nodes/builtin/core/digest/): bundle several changes into one notification.
* [Element Change](/nodes/builtin/trigger/elementchange/): watch a page for the changes to alert on.
* [Telegram](/nodes/builtin/integration/telegram/): send the alert to a Telegram chat instead.