Reference · Tools
Pushbullet
Send and manage push notifications (notes, links, and files) across devices via the Pushbullet API.
The Pushbullet node sends push notifications across devices — notes, links and files — and manages existing pushes. A typical build is pushing a generated report to your phone as a file rather than emailing it to yourself.
- Node type
- Action (binary)
- Parameters
- 16
- Outputs
- Output, Error
- Credentials
- Pushbullet API
Pushbullet
Send and manage push notifications (notes, links, files) via Pushbullet
Overview
The Pushbullet tool manages push notifications via the Pushbullet REST API (https://api.pushbullet.com/v2). Supports creating pushes of type note, link, or file (with 3-step binary upload: upload-request -> file upload -> push creation). Also supports listing (with cursor-based pagination), updating (dismiss), and deleting pushes. Push targets can be default (all devices), a specific device ID, an email address, or a channel tag. File pushes read binary data from upstream items and upload via multipart form-data. Authentication uses an Access-Token header.
Category: Communication
Tool Name: pushbullet
Version: 1
Appearance: Icon: lucide-Bell | Color: #4AB367
Node Type
Action (Binary) — handles file/binary data operations
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Pushbullet API credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| Push | push |
Operations
| Operation | Value | Description |
|---|---|---|
| Push: Create | create | Create a push notification (note, link, or file) |
| Push: Delete | delete | Delete a push by ID |
| Push: Get Many | getAll | Retrieve multiple pushes with optional filtering |
| Push: Update | update | Update a push (dismiss) |
Parameters
Push: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Type | options | Yes | note | Type of push to create. |
Options: file, link, note | ||||
| Title | string | Yes | — | Title of the push. Supports expressions. (shown when Type is note, link) |
| Body | string | Yes | — | Body text of the push. Supports expressions. (shown when Type is note, link, file) |
| URL | string | Yes | — | URL to include with the push. Supports expressions. (shown when Type is link) |
| Binary Property | string | Yes | data | Name of the input binary property containing the file to upload. Names are case-sensitive — see the upstream node’s Binary Data panel for the exact names to use. (shown when Type is file) |
| Target | options | Yes | default | Define the delivery target for the push. |
Options: channel_tag (send to all subscribers of a channel), default (broadcast to all of the user’s devices), device_iden (send to a specific device), email (send to an email address) | ||||
| Value | string | Yes | — | Target value: device ID (iden), email address, or channel tag depending on the selected target. Supports expressions. (shown when Target is device_iden, email, channel_tag) |
Push: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Push ID (pushId) | string | Yes | — | The ID (iden) of the push to delete. Supports expressions. |
Push: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Return All | boolean | No | false | Whether to return all results using cursor-based pagination. |
| Limit | number | No | 100 | Maximum number of results to return. (shown when Return All is false) |
| Filters | collection | No | {} | Optional filters to apply when retrieving pushes. |
| — Active | boolean | No | false | Whether to exclude deleted pushes from results. |
| — Modified After | string | No | — | Only return pushes modified after this timestamp. Accepts ISO 8601 datetime or Unix timestamp. |
Push: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Push ID (updatePushId) | string | Yes | — | The ID (iden) of the push to update. Supports expressions. |
| Dismissed | boolean | Yes | false | Whether to mark the push as dismissed. Hides any notifications for the push if possible. |
All Operations
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. |
Output Data
The Pushbullet API response is merged onto the item JSON at the top level rather than nested under a wrapper, so the incoming fields pass through unchanged and the response fields sit beside them — reference them directly, for example {{ $json.iden }}. Binary data on the input item is forwarded to every output item it produces.
create, delete and update produce one output item per input item. getAll fans out: it emits one output item per push returned, so a single input item can produce many output items, and the node’s output count no longer matches its input count. Plan the rest of the branch around that — an item that follows a getAll is one push, not one request.
| Operation | What lands on the output item |
|---|---|
create | The push object the API returns for the new push, merged onto the item JSON. |
delete | success set to true. The API returns no body for a deletion, so this flag is the only confirmation. |
getAll | One item per returned push, each carrying that push object merged onto the item JSON. When the call returns no pushes at all, a single item is still emitted, carrying pushes set to an empty array — check for that property before treating a downstream item as a real push. |
update | The updated push object the API returns. |
With Return All on, pagination is followed to the end and every page’s pushes are emitted; with it off, one page of up to Limit pushes is emitted.
Failures are per item. In errorPort mode a failed item leaves through the Error port carrying an _error object while the successful items continue out of Output.
Usage Examples
- Send a note push to all devices
- Push a link to a specific device by ID
- Upload and send a file push with binary data
- Get all pushes with cursor-based pagination
- Delete a push by ID
- Dismiss a push notification
Example Configuration
Broadcast a note to every device on the account:
{
"type": "pushbullet",
"parameters": {
"resource": "push",
"operation": "create",
"type": "note",
"title": "Reminder",
"body": "Don't forget to submit the report",
"target": "default"
}
}
Push a link to one email address, taking the URL from the incoming item:
{
"type": "pushbullet",
"parameters": {
"resource": "push",
"operation": "create",
"type": "link",
"title": "{{ $json.title }}",
"body": "Worth a read",
"url": "{{ $json.link }}",
"target": "email",
"value": "user@example.com"
}
}
Upload a file held in an upstream node’s binary property and push it to one device:
{
"type": "pushbullet",
"parameters": {
"resource": "push",
"operation": "create",
"type": "file",
"body": "Here's the document you requested",
"binaryPropertyName": "attachment",
"target": "device_iden",
"value": "ujpah72o0sjAoRtnM0jc"
}
}
Retrieve one page of recent, undeleted pushes:
{
"type": "pushbullet",
"parameters": {
"resource": "push",
"operation": "getAll",
"returnAll": false,
"limit": 20,
"filters": {
"active": true,
"modified_after": "2026-01-01T00:00:00Z"
}
}
}
Page through the full history instead, one output item per push:
{
"type": "pushbullet",
"parameters": {
"resource": "push",
"operation": "getAll",
"returnAll": true
}
}
Dismiss a push so it stops showing on the recipient’s devices:
{
"type": "pushbullet",
"parameters": {
"resource": "push",
"operation": "update",
"updatePushId": "{{ $json.iden }}",
"dismissed": true
}
}
Delete a push outright:
{
"type": "pushbullet",
"parameters": {
"resource": "push",
"operation": "delete",
"pushId": "ujpah72o0sjAoRtnM0jc"
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Send push notifications (notes, links, files) and manage pushes across devices via the Pushbullet API.
Notes
- Two different fields are both labelled “Push ID”. Delete reads
pushId, Update readsupdatePushId. The panel shows one at a time, but a hand-written config or a copied JSON block has to use the name that matches the operation. - Body stays required for every push type, including file pushes: its gate lists all three types, so it never hides and the editor always asks for it.
- A file push needs its binary property to exist. Unlike an optional attachment, the named property is mandatory — an item that reaches a
filepush without it fails rather than sending a push with no file. - Dismissed defaults to
false. Running Update without changing it re-opens the push instead of dismissing it, so set it totruefor the usual “mark as read” behaviour. - Expressions are resolved per item in every field, so one node can push a different title, target or push ID for each item that reaches it.
Frequently asked questions
Why are there two different Push ID fields?
Delete reads `pushId` while Update reads `updatePushId`. The panel shows one at a time, but a hand-written config or copied JSON block must use the name matching the operation.
Is Body required for a file push?
Yes. Body stays required for every push type, including file pushes — its gate lists all three types, so it never hides.
Can it send files as well as text?
Yes — file pushes carry binary data, so a document generated upstream can be pushed straight to a device.
Which credential does it need?
A Pushbullet API credential.
Build with the Pushbullet node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Pushbullet API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.