Zabbix
Send Zabbix trigger alerts to Uptimeify Incident Management via a Webhook media type, using the ready-made script Uptimeify generates for you.
Uptimeify's Zabbix preset maps a Zabbix Webhook media type's payload directly: trigger name, severity, status, and host are pre-mapped. Uptimeify also gives you a ready-to-paste script for the media type's Script tab, so you don't have to write the JavaScript yourself.
1. Create the alert source in Uptimeify
Go to Incident Management → Alert Sources → New, pick the Zabbix preset, name it, and create it. On the success screen:
- Copy the ingest URL (
https://<your-domain>/api/im/ingest/<token>), shown once. - Use the download media type script action to save the ready-made webhook script (or copy it from below).
2. Create the webhook media type in Zabbix
- In Zabbix, go to Data collection → Media types (Zabbix 7.0; Administration → Media types on Zabbix 6.x and older) and click Create media type.
- Set Type to Webhook.
- Open the Script tab and paste in the script below (or the one Uptimeify generated for your source; the two are identical).
- Add a media type parameter named
UPTIMEIFY.INGEST.URL(referenced in the script as{$UPTIMEIFY.INGEST.URL}) and set its value to the ingest URL you copied in step 1. The script reads the URL from this parameter rather than hard-coding it, so rotating the token later only means updating this one value. - Save the media type.
Webhook script
// Zabbix Webhook media type — Script tab (JavaScript).
// Data > Alerts > Media types > Webhook > Script. Field names below map 1:1
// onto this preset's selectors (event_id, event_severity, trigger_name, ...).
var params = JSON.parse(value);
var payload = {
event_id: params.event_id,
event_source: params.event_source,
event_value: params.event_value,
event_severity: params.event_severity,
trigger_name: params.trigger_name,
trigger_status: params.trigger_status,
host_name: params.host_name,
date: params.date,
time: params.time
};
var req = new HttpRequest();
req.addHeader('Content-Type: application/json');
req.post('{$UPTIMEIFY.INGEST.URL}', JSON.stringify(payload));
return 'OK';This script forwards Zabbix's own webhook parameters (event_id, event_severity, trigger_name, trigger_status, host_name, …) unchanged as JSON, it does not transform them. Uptimeify's Zabbix preset already expects exactly this shape, so no further mapping edits are needed.
3. Wire it up to a trigger action
- Add the new media type to a Zabbix user under Users → Users → (user) → Media. Zabbix requires a "Send to" address value even for a webhook. Any non-empty value works, the script ignores it.
- Create or edit a Trigger action under Data collection → Actions → Trigger actions, with an operation that sends a message to that user via your new media type.
- Trigger a test problem (or wait for the next real one) and confirm it shows up under Incident Management → Alert Sources → your Zabbix source.
Default field mapping
| Zabbix webhook parameter | Normalized field |
|---|---|
trigger_name | Title |
event_severity | Severity (via the map below) |
trigger_status | Status: OK resolves the alert, anything else keeps it open |
host_name | Host |
event_id | Dedup key: groups PROBLEM/OK events for the same trigger into one alert |
Severity map
Zabbix event_severity | Uptimeify severity |
|---|---|
Disaster | sev1 |
High | sev2 |
Average | sev3 |
Warning | sev4 |
Information | sev4 |
Not classified | sev4 |
Sample payload
This is the shape of payload Uptimeify's Zabbix preset expects, the same shape the script above produces:
{
"event_id": "6633487",
"event_source": "0",
"event_value": "1",
"event_severity": "Disaster",
"trigger_name": "Zabbix agent is not available on Zabbix server",
"trigger_status": "PROBLEM",
"host_name": "Zabbix server",
"date": "2026.07.17",
"time": "12:00:00"
}You can send this exact payload against your source's mapping from the Payload Mapping tab in the dashboard to verify the setup before wiring up a real trigger.
Alert Source Setup Guides
Step-by-step guides for wiring Zabbix, Datadog, Grafana Alerting, Prometheus Alertmanager, Sentry, or any custom webhook to Uptimeify Incident Management.
Datadog
Send Datadog Monitor alerts to Uptimeify Incident Management via a Datadog webhook integration, pre-mapped to title, alert type, and transition state.