Critical alerts from push notifications using JSON code

  • Release version: Australia
  • Updated March 12, 2026
  • 3 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Critical alerts from push notifications using JSON code

    This guidance explains how ServiceNow customers can configure push notifications as critical alerts using JSON code. Critical alerts ensure important notifications bypass usual device settings to capture user attention immediately. Different JSON settings are required for iOS and Android platforms, and specific considerations exist for ITSM business units using the CriticalPushPayloadBuilder script include.

    Show full answer Show less

    Configuring Critical Alerts

    • JSON Code Requirements: Critical alerts require JSON code that defines the notification message structure and marks it as a critical alert. This code must be added within the Push message content area.
    • Platform Differences:
      • Android: Requires adding a JSON dictionary entry sncGoogleKeys with priority: "high" to wake the device and trigger the alert.
      • iOS and all platforms: Use the aps key with a sound object specifying critical: 1, the name of the alert tone (e.g., "NotificationAlert-1.caf"), and volume from 0.1 to 1.0.
    • Sound Configuration: The name parameter controls the alert tone, with several predefined tones available. If no tone is specified, the app or device default ringtone plays.
    • Volume Control: Volume ranges from 0.1 (quietest) to 1.0 (loudest) to adjust alert audibility.

    Important Considerations for Android Devices

    • Certain device behaviors may affect critical alert delivery, such as physical ringer switches on OnePlus devices or Do Not Disturb mode on OnePlus and Oppo phones.
    • Android Private Space feature (Android 15+) and devices managed by Mobile Device Management (MDM) software like Microsoft Intune may not support critical alerts.

    ITSM Business Unit Integration

    For ITSM customers, the CriticalPushPayloadBuilder script include automates JSON generation for critical alerts. If this script include is already implemented, no additional JSON coding is necessary. However, to modify volume, tone, or alert criticality, changes must be made to the script include’s input parameters.

    Note that modifications to this script include affect all ITSM implementations and may be overwritten by plugin upgrades.

    Expected Outcomes

    • Critical alerts configured with the specified JSON will generate push notifications that override typical device silencing settings and use specified alert tones at desired volumes.
    • On supported devices, these alerts will wake the device and play the critical sound immediately to ensure prompt user attention.
    • Using the ITSM script include simplifies deployment and management of critical alerts across ITSM applications.

    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.

    Important:

    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.
    On Android clients, version 20.0.0 and later, critical alerts don't work on the following:
    • 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

    The following code must be added to the JSON code because it activates Android devices to wake up so that a critical alert can be triggered.
    Note:
    Because users use both iOS and Android devices you must add this code. The JSON entry in the code is a returned dictionary name value from the scripting.
     
    
    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 parameters in the sample JSON code are as follows:
    • The critical parameter defines the notification as a critical alert. 1 means the critical alert is active, 0 means 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.caf Dramatic
      NotificationAlert-2-Short.caf Dramatic
      NotificationAlert-9.caf Dramatic, Powerful
      NotificationAlert-9-Short.caf Dramatic, Powerful
      NotificationAlert-10.caf Dramatic, Suspenseful
      NotificationAlert-10-Short.caf Dramatic, 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.1 as the quietest to 1.0 as 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

    The Push message content area may contain previously configured code including the 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()
    Note:
    If you're required change the values of the 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.