This is a n8n community node that lets you receive webhook alerts from Gatus, a developer-oriented health monitoring and status page system.
Follow the installation guide in the n8n community nodes documentation.
npm install n8n-nodes-gatus-triggerFor n8n cloud users, follow the n8n Cloud installation guide.
This node provides a single trigger operation:
- Webhook Trigger: Receives HTTP POST webhooks from Gatus when alerts are triggered or resolved
To send alerts to this n8n trigger node, configure Gatus to use the n8n alerting provider:
After adding the Gatus Trigger node to your n8n workflow:
- Click "Listen for Test Event" to get the test webhook URL
- Once your workflow is activated, use the Production webhook URL
Add the following to your Gatus configuration file (config.yaml):
alerting:
n8n:
webhook-url: "https://your-n8n-instance.com/webhook/your-webhook-path"
default-alert:
send-on-resolved: true
endpoints:
- name: example-api
url: "https://api.example.com/health"
interval: 1m
conditions:
- "[STATUS] == 200"
alerts:
- type: n8n
description: "API health check failed"Gatus automatically sends webhooks with the following JSON structure (based on the official n8n provider implementation):
title: Title of the alert (configurable in Gatus, defaults to "Gatus")endpoint_name: Name of the monitored endpointendpoint_group: Group the endpoint belongs to (optional)endpoint_url: URL being monitoredalert_description: Description from your alert configuration (optional)resolved: Boolean -trueif alert is resolved,falseif triggeredmessage: Auto-generated message describing the alertcondition_results: Array of condition check results (optional)
Note: You typically don't need to customize the payload - Gatus sends the correct structure automatically. However, if you need to customize the title, you can configure it in your Gatus config:
alerting:
n8n:
webhook-url: "https://your-n8n-instance.com/webhook/your-webhook-path"
title: "Production Monitoring" # Optional: customize the title- Optional: Custom webhook path
- Default: Auto-generated
- Leave empty to use an automatically generated webhook path, or specify a custom path for easier management
- All: Receive both triggered and resolved alerts (default)
- Triggered Only: Only receive alerts when endpoints fail
- Resolved Only: Only receive alerts when endpoints recover
- Filter alerts by endpoint group
- Leave empty to receive alerts from all groups
- Example: Set to "production" to only receive alerts for production endpoints
- Filter alerts by endpoint name
- Leave empty to receive alerts from all endpoints
- Example: Set to "api-server" to only receive alerts for that specific endpoint
Gatus Trigger → Send Email
Send an email whenever a Gatus alert is triggered.
Gatus Trigger → IF Node → Send Slack Message / Log to Database
Send Slack notifications for triggered alerts and log resolved alerts to a database.
Gatus Trigger → Set Variables → HTTP Request → Update Dashboard
Process the alert data and update an external monitoring dashboard.
The trigger node outputs the following data structure:
{
"title": "Gatus",
"endpoint_name": "api-server",
"endpoint_group": "production",
"endpoint_url": "https://api.example.com/health",
"alert_description": "API health check failed",
"resolved": false,
"message": "An alert for api-server has been triggered due to having failed 3 time(s) in a row",
"condition_results": [
{
"condition": "[STATUS] == 200",
"success": false
},
{
"condition": "[RESPONSE_TIME] < 500",
"success": true
}
]
}- title: The configured title from Gatus (defaults to "Gatus")
- endpoint_name: Name of the endpoint that triggered the alert
- endpoint_group: Optional group classification
- endpoint_url: The URL being monitored
- alert_description: Custom description from your Gatus alert configuration
- resolved:
truewhen an alert is resolved,falsewhen triggered - message: Human-readable message generated by Gatus
- condition_results: Array of all condition checks with their results
# Install dependencies
npm install
# Build the node
npm run build
# Link for local development
npm link
cd ~/.n8n/nodes
npm link n8n-nodes-gatus-triggerTo test the node locally:
- Start n8n with
n8n start - Add the Gatus Trigger node to a workflow
- Click "Listen for Test Event"
- Send a test webhook using curl:
curl -X POST https://your-n8n-instance.com/webhook/your-webhook-path \
-H "Content-Type: application/json" \
-d '{
"title": "Gatus",
"endpoint_name": "test-api",
"endpoint_group": "test",
"endpoint_url": "https://test.example.com",
"alert_description": "Test alert",
"resolved": false,
"message": "An alert for test-api has been triggered due to having failed 3 time(s) in a row",
"condition_results": [
{
"condition": "[STATUS] == 200",
"success": false
}
]
}'