Custom payload in alerts integration
On this page
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}}"
}
[Omitted image “io-default-mustache-payload.png”] Alt text: 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”
}
[Omitted image “io-default-payload-cust-param.png”] Alt text: 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
[Omitted image “io-modified-io-payload.png”] Alt text: 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
Keep exploring.
Find another answer, or bring this documentation into your own tools.