Sends a push notification to the user’s device
This backend step is used to send a push notification to a user device using a push external connection (e.g., APNs/FCM via your configured connector). Typical use cases include out-of-band notifications, transactional alerts, or companion messages within a journey.
To send push notifications using a custom provider, configure Custom provider for push notifications, then select the configured connection in Push Provider.
This guide documents the Send push step as a generic messaging action, not an authentication factor. To send an OTP for authentication, use the Generic OTP Authentication step, which handles OTP generation, delivery (including push), and validation in a single flow.
When triggered, this step instructs Mosaic to send the push notification using the selected provider and the configured message fields. You can use custom branches configured on a custom provider to route the journey according to the service response.
Before users can receive push notifications, a push token must be registered so the user’s device can accept them. To send push notifications to the Android device, it needs to support Google Play Services.
| Field | Description |
|---|---|
| Title | The title of the push notification shown on the device. Supports expressions. |
| Text | The body text of the push notification shown on the device. Supports expressions. |
| Custom Fields | JSON object with key–value pairs to include in the notification payload. |
| Push Token | Expression that resolves to the push token of the recipient device. Push tokens are collected via the Mobile SDK when registering the device. |
| Push Provider | Select the push service from the list of external connections. If the list is empty, create a connection (Management > Integration hub). |
| Branch Name (only when Push Provider is configured) | Name of the custom branch(es) configured on the Push Provider. This label is also used when the branch type is Success or Warning. |
| Behavior (only when Push Provider is configured) | Determines whether the journey uses the custom branch:
|
This step can be configured to record step input and output data, or a custom payload, which is then surfaced in journey events in Journey Analytics for diagnostic purposes. For details, see Additional data reporting.