Critical alerts from push notifications using JSON code
Summarize
Summary of Critical alerts from push notifications using JSON code
This guide explains how to configure push notifications as critical alerts in ServiceNow by adding specific JSON code. Critical alerts ensure that notifications are delivered with high priority and distinct sounds, which is essential for urgent communications in IT Service Management (ITSM).
Show less
The JSON code varies between iOS and Android platforms, and the ITSM business unit provides a reusable script include to facilitate critical alert creation.
Key Features
- Platform-specific JSON code:
- Android: Requires adding JSON entries that set notification priority to "high" to wake the device and override default sound settings.
- iOS: Uses JSON parameters under "aps" with a "sound" object specifying critical alert activation, sound name, and volume.
- Critical alert JSON parameters:
- critical: Set to 1 to activate the critical alert.
- name: Specifies the alert sound file (e.g., NotificationAlert-1.caf). If omitted, the app or device default ringtone plays.
- volume: Controls alert sound volume, ranging from 0.1 (quietest) to 1.0 (loudest).
- ITSM CriticalPushPayloadBuilder script include: Provides reusable logic to build critical alert JSON. If already configured, no additional coding is required. Modifications to sound or alert status require adjusting input parameters to this script include.
Important Considerations
- On some Android devices (e.g., OnePlus, Oppo), hardware or Do Not Disturb modes may impact how critical alert sounds behave.
- Critical alerts do not function on Android Private Space (Android 15) or when devices are managed by Mobile Device Management (MDM) software like Microsoft Intune.
- Because users may have both iOS and Android devices, include both JSON codes to ensure critical alert functionality across platforms.
- Changes to the ITSM script include may affect all ITSM implementations and can be overwritten during plugin upgrades.
What to Expect
By applying the described JSON configurations or using the ITSM CriticalPushPayloadBuilder, ServiceNow customers can deliver push notifications that:
- Wake devices and override default notification settings on supported platforms.
- Play designated critical alert sounds at specified volumes.
- Ensure urgent ITSM messages receive proper attention through distinctive notifications.
This setup enhances the responsiveness and visibility of critical alerts in mobile environments.
You can make a push notification into a critical alert with the addition of some JSON code. Different JSON code is used for iOS and Android operating systems and for the ITSM business unit.
Critical alert notifications require two code elements: the push notification message structure and the JSON code that defines the notification as a critical alert. Add this code in the Push message content area. For more information, see Create mobile critical alerts.
On the Android platform, when a user receives a critical alert on certain phone types, they may experience the following device behavior:
- OnePlus devices with hardware-controlled ringer mode:
- On devices like OnePlus where the ringer mode is controlled by a physical switch, the app might not be able to override the notification sound volume if the device is set to silent or vibrate mode.
- OnePlus or Oppo device Do Not Disturb mode behavior:
- On certain devices, like Oppo and OnePlus, if Do Not Disturb (DND) mode is enabled, the DND setting might be temporarily turned off until the critical notification sound has finished playing.
- The Android Private Space feature that was introduced in Android 15.
- Android devices that are managed by Mobile Device Management (MDM) software. For example, Microsoft Intune.
Critical alert JSON to activate Android operating systems
json["sncGoogleKeys"] = {
"android": {
"priority": "high"
},
"priority": "high"
};
Critical alert JSON for all operating systems
The following JSON must be added so that a notification behaves as a critical alert.
var json = {};
json["aps"] = {
"sound": {
"critical": 1,
"name": "NotificationAlert-1.caf",
"volume": 1.0
}
};
- The critical parameter defines the notification as a critical alert.
1means the critical alert is active,0means the critical alert is inactive. - The name parameter is the name of the tone that is activated when a critical alert is sent. Some tones for critical alerts are listed in the table. For a complete list, see Configure sounds for push notifications.
Accepted file name values Tone rhythm NotificationAlert-2.cafDramatic NotificationAlert-2-Short.cafDramatic NotificationAlert-9.cafDramatic, Powerful NotificationAlert-9-Short.cafDramatic, Powerful NotificationAlert-10.cafDramatic, Suspenseful NotificationAlert-10-Short.cafDramatic, Suspenseful Note:If a name value isn’t defined, the system uses the application’s default ringtone. If an application doesn't have a defined ringtone, then the system uses the device's default ringtone. - The volume parameter defines the volume of the critical alert sound. The range is from
0.1as the quietest to1.0as the loudest.
Example JSON code block for critical alert
The following is a complete example block of JSON code that you must add and configure to activate a critical alert for Android and iOS devices.
json["sncGoogleKeys"] = {
"android": {
"priority": "high"
},
"priority": "high"
};
json["aps"]["sound"] = {
"critical": 1,
"name": "NotificationAlert-1.caf",
"volume": 1.0
};IT Service Management (ITSM) CriticalPushPayloader script include
CriticalPushPayLoadBuilder, created by the ITSM business unit. If so, then no additional configuration is required for critical alerts. Script includes are reusable server-side script logic that define a function or class.
CriticalPushPayLoadBuilder is a script include that contains functions to support critical alerts. The call of the script includes looks like this: CriticalPushPayloadBuilder (current, json,
attributes).buildJSON()Volume or Name parameters, or change the alert from critical to non-critical, you must access the function
parameters that the script include is getting as inputs.Changing the value of the critical alert script include affects all ITSM implementations of the script include. Similarly, an ITSM plugin upgrade could override your changes to your script include.