Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

Custom payload in alerts integration

Instance Observer integrations enable you to define and manage custom JSON request payload for ServiceNow and third-party integrations.

You can now include additional fields in notification payloads, exclude specific data that is not required by the target system, format the payload to align with specific third-party API requirements or internal business logic, eliminating the need for complex scripted REST APIs on the customer side.

  • Use either the default payload or customize it to include additional data as needed.
  • Modify the default payload, if needed, which is displayed in the Editor window on the left.
  • Modify either the key or the value, or both as each parameter consists of a key and a value.
  • The Preview section on the right displays the expected JSON payload after rendering.
  • If the JSON is invalid, errors are highlighted, and the option to save is disabled.

Default mustache payload template

{
  "alert_number": "{{alert_number}}",
  "alert_type": "{{alert_type}}",
  "alert_name": "{{alert_name}}",
  "alert_time": "{{alert_time}}",
  "instance": "{{instance}}",
  "description": "{{description}}",
  "alert_created": "{{alert_created}}"
}
Image omitted: io-default-mustache-payload.png
Edit payload for default mustache payload template.

Example: Default Payload + Custom Parameters

{
"alert_number": "{{alert_number}}",
  "alert_type": "{{alert_type}}",
  "alert_name": "{{alert_name}}",
  "alert_time": "{{alert_time}}",
  "instance": "{{instance}}",
  "description": "{{description}}",
  "alert_created": "{{alert_created}}",
  "Custom_message": "{{alert_name}}' of type {{alert_type}} generated for {{instance}} at {{alert_time}}. Please review.",
  "Severity": “High”
}
Image omitted: io-default-payload-cust-param.png
Edit payload for default payload + custom parameters.

Custom parameters and limits

The custom_parameter field allows you to insert custom message into the JSON template, you can also use the existing parameters as shown in the custom parameter samples.

The limitations are:

  • Required: At least one and at most 20 parameters to save the template.
  • Maximum: 13 custom parameters.
  • If exceeded, a warning appears: Template must have at least one default key and up to 20 keys. Adjust or select 'Reset to Default' to apply defaults.

Samples of custom parameters for syntax reference

"Information": "An alert {{alert_name}} has been triggered for {{instance}} at {{alert_time}} Description: {{description}}"

"Alert_message": "New alert '{{alert_name}}' of type {{alert_type}} generated for {{instance}} at {{alert_time}}. Please review."

"Event_type": "Severity-High! An alert {{alert_name}} has been triggered for {{instance}} at {{alert_time}} Description: {{description}}"

Third-party request body mapping

Some third-party integrations require specific key names. You can modify the default payload to match their expected format.

Example: Third-party request body:

{
  "endTime": 1,
  "entitySelector": "string",
  "eventType": "AVAILABILITY_EVENT",
  "properties": {},
  "startTime": 1,
  "timeout": 1,
  "title": "string"
}

Modified IO payload to match third-party format

Image omitted: io-modified-io-payload.png
Modified IO payload to match third-party format.

Actions and validation

  • Revert Changes

    Restores the last saved content.

  • Reset to Default

    Resets the template to its default payload.

  • Syntax Validator

    Ensures JSON validity before saving. Errors prevent saving.

  • Test Integration

    Sends a sample notification to verify webhook integration.

Parent Topic:Use alerts to monitor your instance