Managing the Webhook Alarm Plugin
Unlock seamless integration and automation by sending real-time Nodinite monitoring alerts to any HTTP endpoint. The HTTP Webhook Alarm Plugin empowers you to connect Nodinite with customer support, incident management, and automation platforms—enabling rapid response and streamlined workflows.
On this page, you will learn how to:
✅ Send Nodinite alerts to any HTTP endpoint for instant integration
✅ Automate incident management and customer support workflows
✅ Include rich Custom Metadata in every alert for advanced automation
✅ Securely connect with custom headers and manage multiple webhooks
Keep your business users informed by sending real-time notifications based on Nodinite monitoring alerts.
The Webhook Alarm Plugin sends an HTTP request with alert data to your custom Webhook endpoint whenever the status of Resources in one or more Monitor Views changes state, according to your user-defined configurations.
✅ Custom Metadata is included in every alert, providing rich context for automated workflows.
✅ Supports custom HTTP headers, such as x-api-key, for secure integrations.
✅ Easily manage multiple Webhooks—see the ResendWebhookSettings System Parameter for advanced options.
This feature empowers you to seamlessly integrate Nodinite monitoring with Freshdesk, Jira, ServiceNow, or any other customer support or incident management platform. Automate your incident response and tag tickets with Custom Metadata properties from the Nodinite Repository Model.
Diagram: How Nodinite alerts and custom metadata flow to your HTTP Webhook and downstream systems.
The HTTP Webhook Alarm Plugin comes pre-installed with Nodinite Core Services.
Example templates
- Logic App Template – Integrate Nodinite Alarms with Freshdesk: https://github.com/Nodinite/Azure.LogicApp.Template.Alert.FreshDesk
- Azure Connectors – Use the HTTP Webhook plugin to trigger actions in hundreds of external systems.
There are several hundred connectors to choose from!
- Send alarms to Jira using the Integrations hub for Jira available on the Atlassian marketplace.
Follow the How to guide on creating alarm issues from Nodinite to set it up.
Webhooks are user-defined HTTP callbacks. An event is triggered by the Nodinite Monitoring Service when rules and settings from the Nodinite alarm plugins apply. When that event occurs, the Nodinite HTTP Webhook plugin makes an HTTP request to the configured URL. You can use these events to invoke actions in other systems—such as triggering your incident process, updating dashboards, or automating ticket creation.
Configuring the Webhook Alarm Plugin
There are two ways to configure the Alarm Plugin:
Global Configuration
Configure the Alarm Plugin in the Nodinite Web Client by navigating to "Administration" > "Settings" > "Alarm Plugins" and selecting "HTTP Webhook". See Add or manage Alarm Plugin for generic details.
Example: HTTP Webhook plugin configuration in Nodinite.
The following properties can be configured for this plugin:
Property | Description |
---|---|
Web Client URL | The URL for end-users to access your Nodinite Web Client instance |
URL | The address of the Webhook to send alerts to |
Compress Body | Whether the request body should be compressed (GZIP). Note: The receiving solution must decompress the body to read the JSON payload. |
Test URL | Destination URL for the Execute Alarm Test or Restore Alarm Test features in Nodinite |
Specific Settings from within Monitor Views
From a Monitor View, you can override the following global (default) settings with a 'Specific' setting:
Example: Monitor View-specific override options for the HTTP Webhook plugin.
- Trigger on changed Resource state – Trigger alarms when a Resource changes state. By default, alarms trigger when the Monitor View changes state.
- Override default URL – The Webhook URL to send alerts to from this Monitor View. Leave empty to use the default value.
- Override Compress Body – When checked, the alert body is sent in compressed format. This setting is honored if 'Override default URL' is also set.
- Enable Recurrence – Configure recurrence for redistributing alarms.
Monitoring State Options tab
You can override global Monitoring State Options as needed.
Monitoring State Options tab
Example: Monitoring State Options override for the HTTP Webhook plugin.
What does the alert payload look like?
You can send the payload to the Webhook either in compressed or uncompressed format.
Compress body option
When the Override Compress Body checkbox is checked, the payload is sent compressed.
Please review the following examples (actual data varies with each alert):
Uncompressed example
{
"MonitorViews": [
{
"MonitorViewId": 1,
"Name": "Test View",
"Description": "Simple unit testing view.",
"WebSite": null,
"StatusCode": {
"StatusCode": 0,
"Name": "OK"
},
"NumberOfMonitoredResources": 2,
"Integrations": [
{
"IntegrationId": 1,
"Name": "INT001 - Orders to first company",
"Description": "",
"WebSite": "https://www.nodinite.com",
"CustomFields": [
{
"CustomFieldId": 1,
"Name": "SLA",
"Description": "",
"WebSite": null,
"ValueType": {
"CustomFieldTypeId": 1,
"Name": "Text",
"Description": null,
"WebSite": null
},
"CustomValues": [
{
"CustomValueId": 1,
"Value": "Gold",
"Description": "Act fast!!",
"WebSite": "https://www.nodinite.com",
"ValueType": {
"CustomFieldTypeId": 1,
"Name": "Text",
"Description": null,
"WebSite": null
}
}
]
}
],
"CustomMetaDatas": [
{
"CustomMetaDataId": 1,
"Name": "Summary",
"Description": "My integration is the perfect one",
"WebSite": "https://www.nodinite.com",
"DataType": 1,
"CustomValues": [
{
"CustomValueId": 1,
"Value": "My integration is the perfect one",
"Description": "Act fast!!",
"WebSite": "https://www.nodinite.com",
"ValueType": null
}
]
}
]
}
],
"ChangedResources": [
{
"ResourceId": 1,
"Name": "First Resource - Send Port",
"Description": null,
"WebSite": "https://www.nodinite.com/resource/send-port",
"Source": {
"SourceId": 1,
"Name": "Test Source",
"Description": "Simple source for testing purposes only.",
"Server": null,
"Environment": null,
"Version": null,
"WebSite": "https://www.nodinite.com/"
},
"Category": {
"CategoryId": 1,
"Name": "Send Ports",
"Description": "Send ports category.",
"WebSite": null
},
"Application": {
"ApplicationId": 1,
"Name": "BizTalk System",
"Description": "Default biztalk application",
"WebSite": "https://www.nodinite.com/application/biztalk-system"
},
"StatusCode": {
"StatusCode": 0,
"Name": "OK"
},
"LogText": "All OK! \r\nTest\t - \r - \n"
},
{
"ResourceId": 2,
"Name": "Second Resource - Receive Port",
"Description": null,
"WebSite": null,
"Source": {
"SourceId": 1,
"Name": "Test Source",
"Description": "Simple source for testing purposes only.",
"Server": null,
"Environment": null,
"Version": null,
"WebSite": "https://www.nodinite.com/"
},
"Category": {
"CategoryId": 2,
"Name": "Receive Ports",
"Description": "Receive ports category.",
"WebSite": "https://www.nodinite.com/category/receive-ports"
},
"Application": {
"ApplicationId": 1,
"Name": "BizTalk System",
"Description": "Default biztalk application",
"WebSite": "https://www.nodinite.com/application/biztalk-system"
},
"StatusCode": {
"StatusCode": 0,
"Name": "OK"
},
"LogText": "All OK!"
}
],
"Users": [
{
"UserId": 1,
"Name": "\\IBSS\\imsvc",
"Description": null,
"MailAddress": "john.doe@nodinite.com"
},
{
"UserId": 2,
"Name": "\\IBSS\\imsvc",
"Description": null,
"MailAddress": "jane.doe@nodinite.com"
}
]
},
{
"MonitorViewId": 2,
"Name": "Second View",
"Description": "Simple test view (second).",
"WebSite": null,
"StatusCode": {
"StatusCode": 2,
"Name": "ERROR"
},
"NumberOfMonitoredResources": 2,
"Integrations": [],
"ChangedResources": [
{
"ResourceId": 10,
"Name": "LogAPI Queue",
"Description": "Queue for Nodinite's LogAPI.",
"WebSite": null,
"Source": {
"SourceId": 2,
"Name": "MSMQ",
"Description": "Source to monitor MSMQ queues.",
"Server": "IBSS-DEV01",
"Environment": "Production",
"Version": "1.0",
"WebSite": null
},
"Category": {
"CategoryId": 10,
"Name": "MSMQ Queue",
"Description": "MSMQ Queues category",
"WebSite": "https://msdn.microsoft.com/en-us/library/ms711472%28v=vs.85%29.aspx"
},
"Application": null,
"StatusCode": {
"StatusCode": 2,
"Name": "ERROR"
},
"LogText": "Number of messages in queue exceeded error limit."
},
{
"ResourceId": 11,
"Name": "LogAPI Test Queue",
"Description": "",
"WebSite": null,
"Source": {
"SourceId": 2,
"Name": "MSMQ",
"Description": "Source to monitor MSMQ queues.",
"Server": "IBSS-DEV01",
"Environment": "Production",
"Version": "1.0",
"WebSite": null
},
"Category": {
"CategoryId": 10,
"Name": "MSMQ Queue",
"Description": "MSMQ Queues category",
"WebSite": "https://msdn.microsoft.com/en-us/library/ms711472%28v=vs.85%29.aspx"
},
"Application": null,
"StatusCode": {
"StatusCode": 1,
"Name": "WARNING"
},
"LogText": "Number of messages in queue exceeded warning limit, but not error limit."
}
],
"Users": [
{
"UserId": 1,
"Name": "\\IBSS\\imsvc",
"Description": null,
"MailAddress": "jane.doe@nodinite.com"
}
]
}
],
"Version": "1.0.0.0",
"Environment": "Test",
"Customer": "UnitTest",
"Created": "2019-02-06T13:06:00.0604707Z",
"WebClientUrl": "http://localhost/IM-Dev/WebClient/",
"IsRecurring": false,
"ProductStatus": {
"IsTrial": false,
"ExpirationDate": null
}
}
Example payload with some Custom Metadata.
Compressed example
Below is an example of a compressed JSON alert object:
Ew0AAB+LCAAAAAAABADtVWtv2zYU/SscgWIdYMuS6jaJgQLz7HQwstip5aZAHx9o6dolKpEaSdlJg/z3XuphS5ZbNAEKDNu+SZe8r3PP4b2jl1JwI9U1h62mg/d3dcMkogOvQ6csATqgC9CGWDPt0DHoUPHUcCnwJOBJGgPJ0JEYvMXFmmzwImHxlt1qMrtw0OctLANuMJLI4rhDA8NMpkcyQstd48/dpZxd0Hv8yZIlqNmqrAyiOWiZqRCwYL9DJ8LAWjFbi+3gY4eOPjGxblzDvqq/ZlOvuMKuqjPSJQGIiFxJZQ67LKreNUE/GZPqQa+33W4dISOOtYETyqRX/fQsFD1Vhu5pDNxNi8BBbsr7PlJTDnTZLBmuQbRqqRAvq17hvQr3NFOp1KCJFPGthT0AtQFV1X8uNlxJkdigpekalH5Yh3YoI4aoS3Vrm6i+m23skNTt8u2RxUKTsPRtMQRzDNM05iErnO7qv81Mf/AvCxZ/JsGtNpC0so1hxbLYkCX/Yuw1Vgv7iInW3HtlyK4uMt8/hNZ/yfUCbnAMdBjHqJFf0NikqV/DMpQIWY2ncwiBb+BHqFrq7d/LuT1OdVTatKtOv8O8HyVB5Yz6zmPmytb0v0hafHDfaJxn/srar2afHz5Ybln7cZpeMh4PowjfSYxAbbG/1/vA+FYWB1uppYzv7SUbs9hHT3V++7cHraN9rvP5fDb/SRtpDzRCPLyakNcZZNBqKbfm4puWIP2qSeFxrKkjmt+3cxlcvm4laLwBxEiSlAZ7m/xt0+u6xOlCMaFZaN0Lm+/6Lj1QPb1SMsrCkr079VPPcY+8+9/cLW6j9m9AtD/aa/yoZBIdCSfhoZJarkwuGhDdTPdivlQMtZ3oE8/rn/hP/NPNy412Tp8/8c8cptObltAfQaK9lAo6EbkiCaqArbFwLgqsCdyEABFEBJTCKcQ84cZpbQrPO6RP/qAfB+h/nvxzebKf49vhfDqZ/vkIpmyZEnYt51zpLDNDhDQH/Pn5j/bH+vz6Tt9xHa9/1hr4GDZoG2XayCTnyWS6CGavFuPza2tXgJPB0qjvemdd1++6LxaeO/CeDXzXOXnWPzv13hVDG8UcI75RcVVjSaUCXYvzRC8UZ3i+YrEGLOQm5cUrPWY7Vt1/BSAomRwTDQAA
Example with a compressed payload.
Next Step
Alarm Plugins - Overview
Add or manage Alarm Plugin