diff --git a/server/notification-providers/HaloPSA.js b/server/notification-providers/HaloPSA.js
index 11895e64..abcaa80c 100644
--- a/server/notification-providers/HaloPSA.js
+++ b/server/notification-providers/HaloPSA.js
@@ -41,6 +41,7 @@ class HaloPSA extends NotificationProvider {
title: "Uptime Kuma Alert",
status: status,
monitor: monitorJSON?.name || "No Monitor",
+ monitor_id: monitorJSON?.id || null,
message: msg,
timestamp: new Date().toISOString(),
uptime_kuma_version: process.env.npm_package_version || "unknown",
diff --git a/src/components/notifications/HaloPSA.vue b/src/components/notifications/HaloPSA.vue
index c5b47cbc..605b4e15 100644
--- a/src/components/notifications/HaloPSA.vue
+++ b/src/components/notifications/HaloPSA.vue
@@ -50,6 +50,45 @@
{{ $t("halopsa_password_desc") }}
+
+
+
{{ $t("Webhook Payload Fields") }}:
+
{{ $t("halopsa_payload_desc") }}
+
+ -
+ title
+ : {{ $t("halopsa_field_title") }}
+
+ -
+ status
+ : {{ $t("halopsa_field_status") }}
+
+ -
+ monitor
+ : {{ $t("halopsa_field_monitor") }}
+
+ -
+ monitor_id
+ : {{ $t("halopsa_field_monitor_id") }}
+
+ -
+ message
+ : {{ $t("halopsa_field_message") }}
+
+ -
+ timestamp
+ : {{ $t("halopsa_field_timestamp") }}
+
+ -
+ uptime_kuma_version
+ : {{ $t("halopsa_field_uptime_kuma_version") }}
+
+
+
+ {{ $t("halopsa_id_usage_hint") }}
+
+
+
@@ -59,6 +98,7 @@
{{ $t("halopsa_setup_step2") }}
{{ $t("halopsa_setup_step3") }}
{{ $t("halopsa_setup_step4") }}
+ {{ $t("halopsa_setup_step5") }}
diff --git a/src/lang/en.json b/src/lang/en.json
index 41da87b7..8b70bd8b 100644
--- a/src/lang/en.json
+++ b/src/lang/en.json
@@ -1442,5 +1442,16 @@
"TLS Alert Spec": "RFC 8446",
"mariadbSocketPathDetectedHelptext": "Connecting to the database as specified via the {0} environment variable.",
"Expand All Groups": "Expand All Groups",
- "Collapse All Groups": "Collapse All Groups"
+ "Collapse All Groups": "Collapse All Groups",
+ "Webhook Payload Fields": "Webhook Payload Fields",
+ "halopsa_payload_desc": "The following fields are sent to your Halo PSA webhook:",
+ "halopsa_field_title": "Alert title (always 'Uptime Kuma Alert')",
+ "halopsa_field_status": "Monitor status: UP, DOWN, NOTIFICATION, or UNKNOWN",
+ "halopsa_field_monitor": "Name of the monitor",
+ "halopsa_field_monitor_id": "Unique monitor identifier (null for test notifications) - Use this to match alerts to tickets",
+ "halopsa_field_message": "Full alert message with status and details",
+ "halopsa_field_timestamp": "Event timestamp in ISO 8601 format",
+ "halopsa_field_uptime_kuma_version": "Uptime Kuma version number",
+ "halopsa_id_usage_hint": "💡 Tip: Use monitor_id to reliably match alerts to tickets, and heartbeat_id to track event history",
+ "halopsa_setup_step5": "Configure runbook to use monitor_id for matching alerts to existing tickets"
}