The Alert Webhook sends WISdom alert data to an endpoint you control, in a structured JSON format. Unlike the ticketing system integrations, which build message text from templates, the Alert Webhook delivers WISdom-native data fields that your system can parse and route however you need.
Setup has three parts: connect the webhook, create a Notification Channel that points to it, then assign that channel to alert severities on a Profile. WISdom then posts to your endpoint each time a matching alert opens, escalates, de-escalates, or closes.
Before You Begin
- You must have the Admin role. The Integration page is not available to other roles.
- Your endpoint must be reachable over HTTPS from the public internet and must accept
POSTrequests with a JSON body. - You need an API token that your endpoint will accept as a bearer token.
- If your endpoint sits behind a firewall, allow inbound traffic from the WISdom source IP ranges listed below.
Source IP Ranges
WISdom sends webhook requests from three ranges, distributed across US East 2 and US Central for volume and redundancy. Allow all three.
| Range |
|---|
20.85.14.224/29 |
20.236.234.64/29 |
20.122.252.88/32 |
Key Concepts
Alert scope — Every webhook message identifies whether the alert is a System alert or a Server alert. The scope field carries this value, and it determines which fields are present in the payload.
| Scope | Triggered by | Identifies the source using |
|---|---|---|
Server |
An issue on a monitored server | serverName, platformName |
System |
An issue collecting data | collectorName, collectorMachineName |
Event type — Each message is either an AlertOpen or an AlertClose event. All messages for the same alert share the same alertId, so your system can correlate an open with its eventual close.
Alert levels — Alert types that support multiple severity levels generate a message at each transition. An alert configured with three levels can produce an open event, two escalation events, two de-escalation events, and a close event, all carrying the same alertId. Escalations and de-escalations are sent with eventType set to AlertOpen. Only the final close is sent as AlertClose.
Notification Channel — A connected webhook does not deliver anything on its own. You create a Notification Channel that points to it, then assign that channel to alert severities on a Profile.
Step 1 — Connect the Webhook
- Go to Admin Console › Integration.
- Under Available Apps, click the WISdom Webhook card. It is labeled Alert Webhook.
- In the Connect Alert Webhook dialog, complete the fields:
| Field | Required | Description |
|---|---|---|
| Alert Webhook | Read-only | Displays WISdom Webhook. |
| Name | Yes | A unique name for this webhook. This name identifies the webhook on the Integration page and in the Notification Channels list. |
| Endpoint | Yes | The full URL to call, including protocol. For example, https://example.com/my-webhook. |
| Token | Yes | The API token WISdom passes to your endpoint. |
- Click Test connection. WISdom posts a complete sample payload to your endpoint. The
messagefield contains wording that clearly identifies it as a test message. - Click Save.
The webhook moves from Available Apps to Connected Apps, and the card displays the name you assigned.
You can connect more than one webhook. Each must have a unique name.
Step 2 — Assign the Webhook to a Notification Channel
Connecting the webhook makes it selectable when you build a Notification Channel. No alerts are sent until you create and assign that channel.
- Go to Admin Console › Monitoring › Notification Channels.
- Expand the Ticketing System section and add a channel.
- Enter a Name for the channel. This is the name that appears in the Profile channel picker.
- Open the Ticketing System drop-down and select your webhook by the name you gave it in Step 1.
- Save the channel.
The channel name and the webhook name are independent. Using the same value for both makes the relationship easier to trace later.
Step 3 — Assign the Channel to a Profile
- Go to Admin Console › Monitoring › Profiles and edit the Profile you want to use.
- Either select the Notifications radio button, or step through to Notifications.
- For each severity you want delivered, open the Channels drop-down under Notify on Open Events, Notify on Closed Events, or both. Select your channel and click Apply.
- Click Save.
Selecting a channel under Notify on Open Events does not send close events. Assign the channel to both columns if you want your endpoint to receive the full alert lifecycle.
Managing a Connected Webhook
Hover over the webhook card under Connected Apps to reveal the edit and delete icons.
- Edit opens the Edit Connected Alert Webhook dialog, where you can change the name, endpoint, or token. The stored token is masked. Test connection is available here as well.
- Delete removes the webhook. Any Notification Channel pointing to it will stop delivering, and any Profile severity using that channel will no longer notify. Update those references first.
Request Format
WISdom sends an HTTP POST with a JSON body and the following headers:
| Header | Value |
|---|---|
Content-Type |
application/json |
Authorization |
Bearer <your token> |
If you set the token to my-token, WISdom sends Authorization: Bearer my-token.
Delivery and Retries
If your endpoint does not respond successfully, WISdom retries the request twice using exponential backoff. After the final attempt, the message is dropped.
There is no customer-facing log of failed webhook deliveries. Monitor receipt on your own endpoint to confirm that alerts are arriving.
Payload Reference
Fields Common to All Alerts
| Field | Type | Description |
|---|---|---|
alertId |
string | Uniquely identifies the alert. Every message for the same alert carries the same value. |
eventType |
string | AlertOpen or AlertClose. |
scope |
string | System or Server. |
accountName |
string | The name of the account the alert belongs to. |
accountDisplayName |
string | The friendly name configured in Admin Console › Account › Display Name. |
openDateTime |
string | ISO-8601 UTC time the alert was opened. |
closeDateTime |
string | ISO-8601 UTC time the alert was closed. Populated only on AlertClose. |
alertType |
string | The type of alert. |
message |
string | A description of the alert. |
targetObjectName |
string | The specific object that triggered the alert. See the note below. |
On Server alerts, targetObjectName is always present and identifies a host or instance, but will not be available for System alerts.
Server Alert Fields
| Field | Type | Description |
|---|---|---|
serverName |
string | The server that triggered the alert. |
platformName |
string | The platform of the server that triggered the alert. |
failureCount |
number | The number of times the rule that triggered the alert failed. |
successCount |
number | The number of times the rule passed. Non-zero only on AlertClose. |
alertDetailsUrl |
string | A direct link to the Alert Details view for this alert in WISdom. Server alerts only. |
Opening alertDetailsUrl resolves to Health › Alerts › Details for that specific alert, with the Alert Details flyout already open. For MSP accounts, the link also resolves to the correct client account. Use the value exactly as provided rather than constructing the URL yourself, as the link format is subject to change.
Recipients need a WISdom account to open the link, and will be prompted to sign in if they are not already authenticated.
System Alert Fields
| Field | Type | Description |
|---|---|---|
collectorName |
string | The collector that triggered the alert. |
collectorMachineName |
string | The machine where the collector is running. |
Sample Payloads
Server Alert
{
"alertId": "WBg6NSK8XPBCQHHovmB7ow==",
"eventType": "AlertOpen",
"scope": "Server",
"accountName": "ABC Industries",
"accountDisplayName": "ABC",
"openDateTime": "2025-01-01T00:00:00Z",
"closeDateTime": null,
"alertType": "Low Disk Space",
"message": "This is a sample server alert",
"serverName": "Server1",
"targetObjectName": "C:",
"platformName": "Microsoft SQL Server",
"failureCount": 1,
"successCount": 0,
"alertDetailsUrl": "https://app.fortifiedwisdom.com/health/alerts_details/{alert-specific-link}"
}
System Alert
{
"alertId": "WBg6NSK8XPBCQHHovmB7ow==",
"eventType": "AlertOpen",
"scope": "System",
"accountName": "ABC Industries",
"accountDisplayName": "ABC",
"openDateTime": "2025-01-01T00:00:00Z",
"closeDateTime": null,
"alertType": "Sample system alert type",
"message": "This is a sample system alert",
"collectorMachineName": "Machine1",
"collectorName": "Collector1"
}
Troubleshooting
| Symptom | Likely cause |
|---|---|
| Test connection fails | The endpoint is unreachable, is rejecting the bearer token, or WISdom source IPs are not allowed through your firewall. |
| Test connection succeeds, but no alerts arrive | No Notification Channel points to the webhook, the channel is not assigned to a severity on a Profile, or no alert at that severity has triggered. |
| Open events arrive, but close events do not | The channel is assigned under Notify on Open Events only. Add it to Notify on Closed Events. |
Repeated AlertOpen messages for one alert |
The alert type has multiple levels configured. Escalations and de-escalations are sent as separate AlertOpen messages sharing the same alertId. |
Related Topics
- Integration
- Notification Channels
- Profiles
- Alert Rules
- Account