Reference · Tools

Pushover

Send push notifications with optional image attachments via the Pushover notification service.

Action (binary) Communication v1 Binary data

The Pushover node sends push notifications to users and devices, optionally with an image attached, and supports priority levels up to an emergency mode that keeps re-alerting until acknowledged. A typical build is paging an on-call engineer with a graph of the failing metric attached.

Node type
Action (binary)
Parameters
9
Outputs
Output, Error
Credentials
Pushover API

Pushover

Send push notifications with optional image attachments via Pushover

Overview

The Pushover tool sends push notifications to users and devices via the Pushover API (POST https://api.pushover.net/1/messages.json). Supports message priority levels (-2 lowest through 2 emergency), optional image attachments from upstream binary data, HTML formatting, supplementary URLs, custom sounds, device targeting, and timestamps. Emergency priority (2) requires retry and expire parameters. All requests use multipart/form-data. Authentication uses an application API token and a per-recipient user/group key.

Category: Communication
Tool Name: pushover
Version: 1

Appearance: Icon: lucide-Bell | Color: #249DF1

Node Type

Action (Binary) — handles file/binary data operations

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Pushover API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Messagemessage

Operations

OperationValueDescription
Message: PushpushSend a push notification

Parameters

Message: Push

ParameterTypeRequiredDefaultDescription
User KeystringYesThe user/group key (not email address) of the recipient, viewable on the Pushover dashboard (https://pushover.net/). Supports expressions.
MessagestringYesThe notification message body. Supports expressions.
PriorityoptionsNo-2Notification priority. -2 = silent, -1 = quiet, 0 = normal, 1 = high (bypasses quiet hours), 2 = emergency (requires user confirmation, retry, and expire).
Options: -2 (lowest), -1 (low), 0 (normal), 1 (high), 2 (emergency — also send Retry and Expire)
Retry (Seconds)numberYes30How often (in seconds) the Pushover servers will resend the notification. Minimum 30 seconds. Required for emergency priority. (shown when Priority is 2)
Expire (Seconds)numberYes30How many seconds the notification will continue to be retried for. Maximum 10800 (3 hours). Required for emergency priority. (shown when Priority is 2)
Additional FieldscollectionNo{}Optional fields for enhanced notifications.
— Attachment (Binary Property)stringNoName of the input binary property containing an image file to attach to the notification. Leave empty for no attachment. Names are case-sensitive — see the upstream node’s Binary Data panel for the exact names to use.
— DevicestringNoTarget device name(s), comma-separated. Omit to send to all of the user’s devices. Supports expressions.
— HTML FormattingbooleanNofalseWhether to enable HTML formatting in the message body.
— SoundoptionsNoNotification sound. Choose “Custom” and provide the sound name if your desired sound is not listed.
Options: pushover (the default Pushover sound), bike, bugle, cashregister, classical, cosmic, falling, gamelan, incoming, intermission, magic, mechanical, pianobar, siren, spacealarm, tugboat, alien (long), climb (long), persistent (long), echo (long), updown (long), vibrate (vibrate only), none (silent), __custom (use the Custom Sound Name field)
— Custom Sound NamestringNoCustom sound name when “Custom” is selected for Sound. (shown when Sound is __custom)
— TimestampstringNoUnix timestamp or ISO 8601 datetime for the message display time. If omitted, the API receipt time is used. Supports expressions.
— TitlestringNoMessage title. Defaults to the application name in Pushover if omitted. Supports expressions.
— URLstringNoA supplementary URL to show with the message. Supports expressions.
— URL TitlestringNoA title for the supplementary URL. If omitted, just the URL is shown. Supports expressions.

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo5Maximum number of items to process concurrently. Keep low to respect Pushover rate limits (10,000 messages/month).

Output Data

One output item per input item, on the Output port. The Pushover API response is merged onto the item JSON at the top level, so the incoming fields pass through unchanged and the response fields sit alongside them — reference them directly, for example {{ $json.status }}. Binary data on the input item is forwarded to the output item, including the property used as the attachment.

A successful send returns status set to 1, plus the request ID Pushover assigns to the message. Anything the API rejects — an unknown user key, a message over the size limit, an attachment the service refuses — raises an error for that item: in errorPort mode the item leaves through the Error port carrying an _error object instead.

Usage Examples

  • Send a push notification when a workflow completes
  • Send an alert with high priority when an error is detected
  • Send an emergency notification with retry/expire for critical alerts
  • Attach a screenshot image to a push notification
  • Send a notification with a supplementary URL link

Example Configuration

Send a plain notification at normal priority:

{
  "type": "pushover",
  "parameters": {
    "resource": "message",
    "operation": "push",
    "userKey": "u1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o",
    "message": "Your server backup completed successfully",
    "priority": 0
  }
}

Raise a high-priority alert with a title and a siren sound:

{
  "type": "pushover",
  "parameters": {
    "resource": "message",
    "operation": "push",
    "userKey": "u1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o",
    "message": "Database connection failed - immediate attention required",
    "priority": 1,
    "additionalFields": {
      "title": "Critical System Alert",
      "sound": "siren"
    }
  }
}

Escalate with emergency priority, repeating every minute for an hour until someone acknowledges it:

{
  "type": "pushover",
  "parameters": {
    "resource": "message",
    "operation": "push",
    "userKey": "u1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o",
    "message": "Production payment service is down - immediate response required",
    "priority": 2,
    "retry": 60,
    "expire": 3600,
    "additionalFields": {
      "title": "EMERGENCY: Payment Service Down",
      "url": "https://monitoring.example.com/alerts/12345",
      "urlTitle": "View Alert Details"
    }
  }
}

Attach an image produced upstream and format the body as HTML, targeting two named devices:

{
  "type": "pushover",
  "parameters": {
    "resource": "message",
    "operation": "push",
    "userKey": "u1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o",
    "message": "<b>Sales Report</b><br/>Revenue increased by 15% this month",
    "priority": 0,
    "additionalFields": {
      "title": "Monthly Sales Update",
      "html": true,
      "binaryPropertyName": "chart_image",
      "sound": "cashregister",
      "device": "iphone,android-tablet"
    }
  }
}

Log a silent notification built from the incoming item, stamped with the current time:

{
  "type": "pushover",
  "parameters": {
    "resource": "message",
    "operation": "push",
    "userKey": "{{ $json.pushoverUserKey }}",
    "message": "Scheduled maintenance completed for {{ $json.hostname }}",
    "priority": -2,
    "additionalFields": {
      "title": "Maintenance Log",
      "timestamp": "{{ $datetime.unix }}"
    }
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Send push notifications (with optional image attachments) to users and devices via the Pushover API.

Notes

  • Priority defaults to -2. At that level Pushover delivers the message silently and generates no alert, which is rarely what you want for a notification. Set Priority to 0 for a normal push, and raise it only where the interruption is justified.
  • Emergency priority needs acknowledgement. Priority 2 keeps re-alerting every Retry seconds until the recipient acknowledges it or Expire seconds elapse, so keep it for genuinely urgent traffic.
  • Expressions are resolved per item in User Key, Message, Title, URL, URL Title, Device and Timestamp, so a single node can notify a different recipient for every item that reaches it.
  • The attachment is optional even when named. If the binary property you name is not present on an item, that item is still sent — as a notification without an image.

Frequently asked questions

Why did my notification arrive silently?

Priority defaults to `-2`, at which Pushover delivers the message silently and generates no alert. Set Priority to `0` for a normal push — this default catches almost everyone out.

How does emergency priority work?

Priority `2` keeps re-alerting every Retry seconds until the recipient acknowledges it. Reserve it for things that genuinely justify waking someone.

Can it attach an image?

Yes — image attachments are supported, which is what turns a bare alert into something actionable at a glance.

Which credential does it need?

A Pushover API credential.

Build with the Pushover node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Pushover API credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.