> ## Documentation Index
> Fetch the complete documentation index at: https://docs.b3os.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Send Pushover Notification

Send a push notification via Pushover to a registered user key. Supports priority levels, custom sounds, supplementary URLs, and per-device targeting. Ideal for: alerts, incident pages, deal closures, monitoring notifications.

![Send Pushover Notification logo](https://ai-icon.b3.fun/logo/pushover)
Catalog action Messaging pushover

Send a push notification via Pushover to a registered user key. Supports priority levels, custom sounds, supplementary URLs, and per-device targeting. Ideal for: alerts, incident pages, deal closures, monitoring notifications.


## At a Glance

| Field | Value |
| --- | --- |
| Action ID | `send-pushover-notification` |
| Category | Messaging |
| Connector | `pushover` |
| Requires gas | No |
| Funds movement | None declared |
| Tags | `messaging`, `pushover`, `notification`, `push`, `alert`, `write` |

## Payload Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `userKey` | `string` | Yes | Per-recipient identifier shown at the top of pushover.net when logged in. To send to yourself, register your own user key. This is NOT the application API token on the connector — those are two different strings. |
| `message` | `string` | Yes | Notification message body. Pushover allows up to 1024 characters. |
| `title` | `string` | No | Notification title shown above the message body. Defaults to the app name. |
| `priority` | `number` | No | Pushover priority. -2 lowest \(silent\), -1 quiet, 0 normal, 1 high \(bypass quiet hours\). Emergency \(2\) is omitted because it requires retry+expire params that aren't yet wired through. |
| `url` | `string` | No | Supplementary URL to show with the message. |
| `urlTitle` | `string` | No | Display title for the supplementary URL. |
| `sound` | `string` | No | Notification sound name. See https://pushover.net/api#sounds. Empty = recipient default. |
| `device` | `string` | No | Target a specific device by name. Empty = all devices for this user. |

## Result Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `status` | `number` | Yes | Pushover response status. 1 = success. |
| `request` | `string` | Yes | Pushover request UUID used for delivery tracking. |

## Examples

**Workflow node**

```json
{
  "type": "send-pushover-notification",
  "payload": {
    "userKey": "example-userKey",
    "message": "Workflow completed"
  },
  "children": [],
  "connector": {
    "type": "pushover",
    "id": "conn_pushover"
  }
}
```
  **Test with API**

```bash
curl -X POST "https://api.b3os.org/v1/actions/send-pushover-notification/test" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "inputs": {
    "userKey": "example-userKey",
    "message": "Workflow completed"
  }
}'
```

**Use expressions for dynamic values**

Payload fields can use workflow expressions such as `{{$trigger.body.amount}}`, `{{$nodes.fetch.result.price}}`, and `{{$props.asset}}` when the value should come from a trigger, prior node, or reusable workflow prop.