Send Web Push Notification logo

Catalog action Messaging webpush

Send a W3C Web Push notification to a subscribed browser via VAPID. Each subscription represents a single device; create one per browser/profile that should receive the push. When the push service reports the subscription as gone (HTTP 404/410), the result returns expired: true so the workflow can clean it up. Ideal for: in-app browser alerts, deal closures, monitoring pages.

At a Glance

FieldValue
Action IDsend-web-push
CategoryMessaging
Connectorwebpush
Requires gasNo
Funds movementNone declared
Tagsmessaging, web-push, browser, notification, push, write

Payload Schema

FieldTypeRequiredDescription
subscriptionIdstringYesWeb Push subscription ID (per-device) to deliver to.
titlestringYesNotification title shown to the user.
bodystringYesNotification body shown beneath the title.
urlstringNoOptional URL the service worker opens when the notification is clicked.
iconstringNoOptional absolute URL of an icon image (PNG/SVG, ~192px) displayed with the notification.
tagstringNoTag used by the service worker to coalesce duplicate notifications.

Result Schema

FieldTypeRequiredDescription
statusCodenumberYesHTTP status code returned by the push service (typically 201 on success).
expiredbooleanNoTrue when the push service reported the subscription as gone (HTTP 404/410); caller should delete it.

Examples

json
{ "type": "send-web-push", "payload": { "subscriptionId": "example-subscriptionId", "title": "example-title", "body": "example-body" }, "children": [], "connector": { "type": "webpush", "id": "conn_webpush" }}

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.