Push

Push Node allows you to configure and send push notifications to your customers across mobile and web applications.

The Push node enables you to send rich and interactive notifications to mobile and web apps that use Webex Connect SDKs.

83

Push Node

Prerequisites

  1. An App Asset created on Webex Connect.
  2. Webex Connect's SDK integrated within your app, with appropriate App ID and Client Key corresponding to the Mobile/Web App Asset configured in Webex Connect.

📘

Note

The app should have at least one registered user, whose User-ID or Device-ID can be used as a destination.

Node Configuration

All the parameters and input fields that you need to define within the node window are explained below.

1031

Node Window

Destination Type

There are different types of identifiers supported in Webex Connect, namely:

  • Customer Id is a master ID that is linked to all different channel-specific user IDs of a user within the customer profile. Webex Connect's customer profile is used to store multiple channel identifiers and customer communication preferences for various customers. It is useful in cross channel communication. For e.g: You want to send an exclusive promo code to a user’s app because of previous positive feedback that they have given via Messenger. If you have the customer profile configured with details of both Facebook Messenger PSID and user Id linked with the same customer Id, you can use the Customer-ID of the user since it will remain constant across both the channels.
  • UserId is the identifier specific to Push and In-App channels. This is generally created when a user registers on your mobile/web app. It is stored in the application profile. E.g. $(userid).
  • AndroidPushId is the identifier for the Android application. E.g. $(android_pushid).
  • iOSPushId is the identifier for the iOS application. E.g. $(ios_pushid).
  • ChromePushId is the identifier for the Chrome application. E.g. $(chrome_pushid).
  • FirefoxPushId is the identifier for the Firefox application. E.g. $(firefox_pushid).
  • SafariPushId is the identifier for the Safari application
  • Topic is used to broadcast notifications that come under a particular section of interest. Any user who subscribes to a topic starts receiving notifications published to that topic.

📘

Note

The destination type Topic is not visible in the list, if the Topic Messaging option is disabled for your tenant.

  • Segment comes into picture when you want to target users that have subscribed to a specific combination of topics. You can create a segment containing the desired combination of topics and publish notifications to that segment.

📘

The destination type Segment is not visible in the list, if the Segment Messaging option is disabled for your tenant

  • HMSPushId is the identifier for the HMS application

Destination

This field contains the destination value corresponding to the selected Destination Type. The value can be static or dynamic. For E.g: If the destination type is Customer-ID, the Destination can be kept dynamic by declaring it as $(customerID).

Message Configuration

This section explains the elements used to orchestrate the notification:

Notification Title

A heading displayed above the top of the notification text to summarize its content or purpose. The message configuration varies for Android, iOS and Web Browsers. Here are the details for each of these.

Android

These are Android-specific configurations.

  • Notification Body: Enter the text for the notification body for Android.

  • Notification Action: There are five types of actions that can be executed when a user taps on the notification:

    1. OPEN_URL would open the respective link in your browser.

    2. OPENWEBVIEW launches a web view inside your app.

    3. DEEPLINK will take you to destination defined in the link.

    4. OPEN_HTML renders the HTML payload within the app.

    5. OPEN_APP simply opens the app corresponding to the notification

  • Sound File (Discontinued): Enter the url of the sound file that must be played during the notification.

  • Collapse key: Enter Collapse key. For example, Cricket score.
    If you send multiple push notifications to a device with the same collapse key, and all of them are waiting in the FCM server to be delivered to the device, FCM will only send the latest push notification for the collapse key you provide. This parameter would only work if you use FCM as the Push provider.

  • Time to live: Enter the value for time to live in seconds. E.g. 100 seconds.
    You can specify the lifespan of a message. If your message can't be delivered right away (like if a phone is off or offline), FCM will hold onto it and try again later. But some messages, like video call alerts or event invites, are only useful for a short time. For those, you can set a time limit from 0 to 2,419,200 seconds (0 to 28 days). If you don't set a limit, FCM will keep trying to deliver your message for up to 4 weeks.

  • Delay while idle (Deprecated): In-case when a notification is received, the device is in idle state, you can choose to wait for the user to be active before you display the notification on the device. E.g. 10 seconds.

  • Priority: You can define the priority of a notification by assigning an integer from ranging 1 to 5, 5 being the highest. E.g. 4.

  • Image URL: Enter the url of the image which is used to send images in the notification. E.g. https://www.webexconnect.io/image_1.

  • Notification Icon: Enter the URL for the notification icon. Adding an icon for the push notifications creates a unique, branded experience. E.g. https://www.webexconnect.io/image.svg

  • Notification Channel ID: Enter the channel Id to target devices that run on Android Oreo or above, it's mandatory to assign a channel ID to each notification. E.g. WebexConnect_Channel.

iOS

These are iOS specific configurations.

  • Attachment Type - Select the required type (Image, Audio, and Video) from the dropdown.
  • Attachment URL - Enter the attachment URL. It is used for sending images, audio, and videos with notifications.
  • Collapse ID - Enter the unique key. E.g. Cricket score.
    If you send multiple push notifications to a device with the same collapse key, and all of them are waiting in the FCM server to be delivered to the device, FCM will only send the latest push notification for the collapse key you provide. This parameter would only work if you use FCM as the Push provider.
  • Notification Body - Enter the text for the notification body for iOS. Eg: Hello this is a test push notifications.
  • Notification Action: Select one of the following from dropdown. There are five types of actions that can be executed when a user taps on the notification:
    • OPEN_URL - Select this to navigate to the URL.
    • OPENWEBVIEW - Select this to open the web links.
    • DEEPLINK - Select this to navigate to the link.
    • OPEN_HTML - Select this to open the HTML links.
    • OPEN_APP - Select this to open the app when the notification link is clicked.
  • Notification Value - Enter the URL to be navigated to when the notification is clicked.
  • Sound File - Enter the name of the sound file that must be played during the notification. You can pass either 'default' for the standard sound or specify a custom sound. To use the default sound, pass the value 'default,' and the system's default notification sound will be used. To add custom sounds, add the audio files to the Xcode project root. Make sure Add to targets is selected when adding files so that they are automatically added to the bundle resources. External URLs are not supported. You need to pass the filename with the extension (newsound.mp3) of the sound file. Custom sounds enhance your app's experience by adding a unique touch to your notifications. You can set a specific sound for all notifications or just for certain ones, depending on the action.
  • Badge - The number to be displayed as a badge of the app icon. E.g. 10.
  • Silent Push - Set this parameter value to True, then user will not receive a notification of the delivered message, although the app will receive the pushed message.
  • Time to live: Enter the value for time to live in seconds. The period of time for which a notification would reside in the notification tray. E.g. 100 seconds.
    You can specify the lifespan of a message. If your message can't be delivered right away (like if a phone is off or offline), APNs will hold onto it and try again later. But some messages, like video call alerts or event invites, are only useful for a short time. For those, you can set a time limit from 0 to 2,592,000 seconds (0 to 30 days). If you don't set a limit, APNS will keep trying to deliver your message for up to 30 days.

Webpush

These are Web-specific configurations. For Webpush, you first need to select all the browsers to be targeted. Following are the available options:

  • Firefox and Chrome
  • Safari
  • For Firefox and Chrome:
    • Notification Body: Enter the text for the notification body for Webpush.
    • Notification Title: Enter the title for the notification. A heading displayed above the top of the notification text to summarize its content or purpose.
    • Time To Live: Enter the value for time to live in seconds. The period of time for which a notification would reside in the notification tray. E.g. 100 seconds.
      You can specify the lifespan of a message. If your message can't be delivered right away (like if a phone is off or offline), APNs will hold onto it and try again later. But some messages, like video call alerts or event invites, are only useful for a short time. For those, you can set a time limit from 0 to 2,592,000 seconds (0 to 30 days). If you don't set a limit, APNS will keep trying to deliver your message for up to 30 days.
    • On Click URL: Enter the URL to navigate when clicked on notification.
    • Collapse Key: Enter Collapse key. E.g. Cricket score.
      If you send multiple push notifications to a device with the same collapse key, and all of them are waiting in the FCM server to be delivered to the device, FCM will only send the latest push notification for the collapse key you provide. This parameter would only work if you use FCM as the Push provider.
  • For Safari:
    • Notification Body: Enter the text for the notification body for Webpush.
    • Notification title: Enter the title for the notification. A heading displayed above the top of the notification text to summarize its content or purpose.
    • Time to live: Enter the value for time to live in seconds. The period of time for which a notification would reside in the notification tray. E.g: 100 seconds.
      You can specify the lifespan of a message. If your message can't be delivered right away (like if a phone is off or offline), APNs will hold onto it and try again later. But some messages, like video call alerts or event invites, are only useful for a short time. For those, you can set a time limit from 0 to 2,592,000 seconds (0 to 30 days). If you don't set a limit, APNS will keep trying to deliver your message for up to 30 days.
    • On Click URL: Enter the URL to navigate when clicked on notification.
    • Action Text: Enter the action text. It is the customizable label for the button that users can click to interact with the notification. The label provides a better context of the URL to which the user will be redirected. E.g. A notification asking user to create a new account can have a button with the label - 'Sign-Up'

Interactions

  • OS - the operating system for the interactions. You can select iOS, Android, or All.
  • Push Reference - Enter the unique value to make interaction result available as a trigger.
  • Interactions - Select single button or two buttons.
  • Category - Select the Category. Based on the category selected, the actions for the buttons vary. The available category of interactions - Single button, Two buttons.
    • For Single button, the following are the different categories available:
      • Single button - Dismiss
      • Single button - Subscribe
      • Single button - Unsubscribe
      • Single button - Share
      • Single button - Open
    • For Two buttons, the following are the different categories available:
      • Two button - Subscribe or Unsubscribe
      • Two button - Share or Cancel
      • Two button - Like or Share
      • Two button - Yes or No
      • Two button - Accept or Cancel
      • Two button - Shopnow or Cancel
      • Two button - Later or Now
      • Two button - Play now or PlayLater
      • Two button - Ok or Learn More
      • Two button - Buy Now or Buy Later
  • Select the appropriate action. Depending on the action selected the Action Parameter field appears.
    • Enter the value for Action Parameter.

Extra Parameters

Along with the message, you can send additional information like some user-specific property, or any custom parameter that is required to display the message in a certain fashion within the app. This information can be sent in the form of extra parameters.

Correlation ID

You can assign a unique ID of your choice to each Push message. This ID is returned to the platform with the delivery report and can be used to identify the message.

Callback Data

In case there is additional data to be sent along with the delivery reports to the URL, you must specify that here.

Validations forCallback Data & Correlation ID:

  1. Callback Data, Correlation Id fields are optional for all the channels. Send node can be saved without providing these fields.
  2. All characters, Alphabets, Numbers, and special characters are accepted.
  3. Variables can be added.
  4. Hard coded values are accepted.
  5. On Platform side, there is no Max or Min length validation for these fields.

Notify URL

You can choose to notify a URL with the delivery report for the Push message. This field accepts only a valid URL or a variable. If an invalid URL is passed in API request or via a variable, then such request will not be considered eligible for retries.

Validations for Notify URL:

  1. It is an optional field optional for all the channels. Send node can be saved without providing these fields.
  2. Notify URL should be filled with proper URL format. Otherwise, error message ‘Invalid URL, field accepts only valid URL or variable’ will be displayed.
  3. When space is provided in front of the URL, Invalid URL, field accepts only valid URL or variable’ will be displayed.
  4. When space is provided at the end of the URL, space gets trimmed and ignored and DRs are received to the URL.
  5. No Max length validation.
  6. Variables can be added to this field.

Advanced Options

Wait For

The life-cycle of push notification has three stages. You can wait for a callback at any of the stages before proceeding further in the flow by selecting any one of the following:

  1. Gateway Submit: The first stage where the configured message along with the destination is submitted to the gateway for delivery.

  2. Delivery Report: The second stage, in which the message is delivered to the targeted device.

  3. Success Delivery Receipt: The third stage or option, when selected, the flow execution will only wait for a success Delivery Receipt. It will ignore the failures. If there are no Success Delivery Receipts returned before the expiry, the node will execute from Ontimeout edge.

    📘

    Success Delivery Receipt is only available as an option if the Destination Type is set as 'UserId'.

  4. Read Report: The last stage is when the target user actually reads the message.

Expiry

Time in seconds or UTC, after which node session will Webex Connect and the flow would proceed to the next node.

Node Outcomes

  • onsuccess: Node executed successfully.
  • onsubmit: Submitted to a gateway.
  • ondrsuccess: Received DR for the transaction.
  • Onread: Received RR for the transaction.
  • onpolicyfail: the flow exits through this node outcome when the expiry condition cannot be met.
  • ondrfail: Failed to receive DR.
  • onerror: the flow exits through this node outcome when there is an error.
  • Ontimeout: Session Webex Connect