Custom payload in alerts integration
Summarize
Summary of Custom Payload in Alerts Integration
Instance Observer integrations allow you to manage custom JSON request payloads for ServiceNow and third-party integrations. You can customize notification payloads by adding or excluding fields, formatting them to meet specific API requirements, and avoiding complex scripted REST APIs.
Show less
Key Features
- Modify the default payload displayed in the Editor window by adjusting keys and values.
- Preview the expected JSON payload and receive validation feedback for errors before saving.
- Support for both default and custom parameters, with a limit of up to 20 parameters (13 custom).
- Ability to modify the payload to match third-party request formats as needed.
Key Outcomes
By utilizing custom payloads, you can ensure that notifications are tailored to your requirements, improving integration with external systems. The ability to validate JSON syntax before saving helps prevent errors, ensuring smoother operations. Testing integration functionality allows verification of webhook setups, enhancing reliability in alert notifications.
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}}"
}
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”
}
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.
- 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.
{
"endTime": 1,
"entitySelector": "string",
"eventType": "AVAILABILITY_EVENT",
"properties": {},
"startTime": 1,
"timeout": 1,
"title": "string"
}
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.