Create PushWoosh Notification
Audience:
Low-code EngineersSkill Prerequisites:
Actions,Tokens,Connectors,Pushwoosh account
Sends a push notification through Pushwoosh. You can send it now or at a set date, to all devices of an app or to selected users or devices. You can also add text in several languages, a link, custom data and tag conditions.
The action uses a PushWoosh connector that holds your Pushwoosh API access token. It calls the Pushwoosh createMessage API.
This action is part of the Push Notifications add-on (DnnSharp.PushNotifications). The add-on is installed separately and needs the PUSHN feature in your license. If it isn't licensed, the action fails with a "not licensed" error. If you don't see the Push Notifications actions, the add-on isn't installed.
Typical Use Cases
- Tell a user that their order shipped, using their Pushwoosh user ID
- Send an announcement to every device of your app
- Schedule a reminder for a set date and time
- Send to users who have a tag value, for example everyone with
Cityset toChicago
Don't use it to
- Send through Firebase. Use Firebase - Send push notification.
- Store or change the Pushwoosh access token. Use Add PushWoosh Connector or Update PushWoosh Connector.
- Check whether a notification was delivered. The action doesn't return the Pushwoosh message ID. Use the Pushwoosh control panel.
Related Actions
| Action Name | Description |
|---|---|
| Add PushWoosh Connector | Creates the PushWoosh connector this action uses. |
| Update PushWoosh Connector | Saves a new access token in a PushWoosh connector. |
| Firebase - Send push notification | Sends a push notification through Firebase instead. |
| Execute Actions | Catches the error if the send fails. |
Input Parameter Reference
| Parameter | Description | Supports Tokens | Default | Required |
|---|---|---|---|---|
| Debug | Off sends the notification. Payload only doesn't send it. Instead, the action fails with an error that shows the request it would send. Payload with response sends the notification and saves the request and the Pushwoosh response in Debug Output. | No | Off | No |
| Debug Output | The name of the token that receives the request and response, for example PushwooshDebug. Shown when Debug is Payload with response. | No | empty string | No |
| API Connector | The PushWoosh connector with your API access token. Create the access token in your Pushwoosh control panel, on the API Access page. Create the connector on the Connectors page or with Add PushWoosh Connector. | Yes | none selected | Yes |
| Application Code | The code of your Pushwoosh application, for example ABCDE-12345. You find it on the application page of the Pushwoosh control panel. | Yes | empty string | Yes |
| Campaign name | The Pushwoosh campaign to group the notification's statistics under. Leave it empty if you don't use campaigns. | Yes | empty string | No |
| Message Content | The text of the notification, one row per language. Enter a language code in the first column, for example en or de, and the text in the second. Devices whose language has no row get the English text, so add at least an en row. | Yes, both columns | empty | No |
| Minimize Link | Whether to shorten Link: Do not minimize (deeplink), Google or Bitly. Deep links only work when the link isn't shortened. | No | Do not minimize (deeplink) | No |
| Link | The link that opens when the notification is clicked. Leave it empty to open the app on mobile devices. | Yes | empty string | No |
| Custom data | JSON sent to the app, for example {"orderId": "[OrderId]"}. Leave it empty to send none. | Yes | empty string | No |
| Send Now | When checked, the notification is sent right away and Send date is ignored. When unchecked, it's scheduled for Send date. | No | Unchecked | No |
| Ignore user timezone | When checked, Pushwoosh sends at Send date in UTC. When unchecked, Pushwoosh sends at that time in each device's own time zone. | No | Unchecked | No |
| Send date | The date and time to send the notification. Used when Send Now is unchecked. | No | empty | When Send Now is unchecked |
| Target type | Who receives the notification: All devices of the app, or the Users or Devices in Targets List. | No | All | No |
| Targets List | Pushwoosh user IDs or device tokens, separated by commas. Ignored when Target type is All. | Yes | empty string | When Target type isn't All |
| Conditions | Tag filters. In each row, enter a Pushwoosh tag name and a value. Only users or devices whose tag equals the value receive the notification. Rows are combined with AND. | Yes, both columns | empty | No |
Output Parameters Reference
| Parameter | Description |
|---|---|
[<Debug Output>] | Only when Debug is Payload with response and the send succeeds. A JSON object with payload, the request that was sent, and response, the Pushwoosh response. |
What happens when it fails
The action fails and stops execution, unless it's caught by the On Error of an enclosing Execute Actions, when:
- Pushwoosh doesn't accept the request, for example because the access token or application code is wrong. The user sees We encountered an unexpected error. The site's log has Failed to send push notification: followed by the Pushwoosh message.
- Pushwoosh can't be reached or returns an HTTP error. The error starts with PushWoosh request to '/createMessage' failed with message:.
- No connector is selected in API Connector.
- Debug is
Payload only. This is on purpose, so you can read the request in the error.
Considerations
- Check Send Now. Send Now is unchecked by default. If you don't check it and don't pick a Send date, Pushwoosh gets a date in the past. Check Send Now for immediate notifications.
- Send date doesn't support tokens. You can only pick a fixed date and time in the editor. To schedule from data, for example a booking date, send the notification from a scheduled job instead.
- Custom data is sent as text. The value of Custom data is sent to Pushwoosh as a string, not as a JSON object. Make sure your app reads it that way.
- Commas aren't trimmed. In Targets List,
user1, user2sends" user2". Don't put spaces after the commas. - Debug output shows the access token. The request in the debug error and in Debug Output includes your Pushwoosh API access token. Use debug modes only while you test, and set Debug back to
Offbefore users can reach the action. - Test the connector by sending. Test Connector doesn't support PushWoosh connectors. Send a test notification to your own device after you create the connector.
Examples
To understand how to use the below examples, please see Running Examples.
1. Notify a user that their order shipped
This action sends a notification right away to the Pushwoosh user in [UserId], in English and German. Clicking it opens the order page. The order ID is sent as custom data. Replace the connector ID with the ID of your PushWoosh connector, or pick it in the editor after importing.
{
"Title": "Create PushWoosh Notification",
"ActionType": "CreateMessage",
"Description": "Tell the user the order shipped",
"Parameters": {
"DebugMode": "",
"Credentials": {
"Entry": "00000000-0000-0000-0000-000000000000"
},
"ApplicationCode": "[PushwooshAppCode]",
"Campaign": "",
"Content": {
"en": "Your order [OrderId] has shipped.",
"de": "Ihre Bestellung [OrderId] wurde versandt."
},
"MinimizeLink": "NoMinimization",
"Link": "https://www.example.com/orders/[OrderId]",
"Data": "{\"orderId\": \"[OrderId]\"}",
"SendNow": true,
"IgnoreUserTimezone": false,
"TargetType": "Users",
"Targets": "[UserId]",
"TagConditions": {}
}
}
2. Check the request without sending it
This action builds an announcement for all devices whose City tag is Chicago, but doesn't send it. Debug is set to Payload only, so the action fails with an error that shows the request. Set Debug to Off when the request looks right.
{
"Title": "Create PushWoosh Notification",
"ActionType": "CreateMessage",
"Description": "Preview the Chicago announcement",
"Parameters": {
"DebugMode": "payload",
"Credentials": {
"Entry": "00000000-0000-0000-0000-000000000000"
},
"ApplicationCode": "[PushwooshAppCode]",
"Campaign": "",
"Content": {
"en": "The Chicago store opens on Saturday."
},
"MinimizeLink": "NoMinimization",
"Link": "",
"Data": "",
"SendNow": true,
"IgnoreUserTimezone": false,
"TargetType": "All",
"Targets": "",
"TagConditions": {
"City": "Chicago"
}
}
}
Revised 10/03/2026