Real-time uptime alerts to Jira with smart Slack on-call routing
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (7)
- Webhook
n8n-nodes-base.webhook - If
n8n-nodes-base.if - Jira Software
n8n-nodes-base.jira - Slack
n8n-nodes-base.slack - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Edit Fields (Set)
n8n-nodes-base.set - Code
n8n-nodes-base.code
What it does
Real-Time Uptime Alerts to Jira with Smart Slack On-Call Routing This workflow automatically converts uptime monitoring alerts received via webhook into Jira incident tasks and intelligently notifies an available on-call team member on Slack based on their real-time presence status. It ensures critical service outages never go unnoticed by selecting an active responder and sending a detailed direct message immediately. ⚡ Quick Implementation Steps 1. Import the workflow JSON into n8n. 2. Configure your Webhook, Slack, and Jira credentials. 3. Update the IF node to filter for status = down (already configured). 4. Set the Jira project and issue type as required. 5. Connect your Slack on-call channel. 6. Activate the workflow and send a test alert using Postman or your monitoring tool. What It Does This automation listens for incoming alerts from any uptime monitoring service. When a system or service goes down, the workflow instantly validates whether the alert is critical (status = down). Once validated, it automatically creates a detailed Jira Task containing all relevant service details such as timestamp, downtime duration, error code, customer impact and priority. After the Jira incident is created, the workflow retrieves a list of all members from a dedicated Slack on-call rotation channel. It checks each member’s Slack presence (active, away, offline) and uses smart selection logic to choose the best person to notify. The selected team member then receives a richly formatted direct Slack message containing all incident details and a link to the Jira ticket. This ensures the alert is not only logged properly but also reaches the right responder at the right time. Who’s It For This workflow is perfect for: - DevOps teams managing uptime & system reliability. - Support teams responsible for incident response. - SRE teams using Jira and Slack. - Organizations with an on-call rotation setup. - Teams wanting automated escalation for downtime alerts. Requirements to Use This Workflow - n8n installed (self-hosted or cloud) - Slack API credentials with permission to read user presence and send direct messages - Jira Software Cloud credentials allowing issue creation - A monitoring system capable of sending webhook alerts (e.g., UptimeRobot, Uptime Kuma, StatusCake, custom system, etc.) - Access to a Slack channel that includes your on-call rotation members How It Works & How to Set Up Step 1: Receive Alert from Uptime Monitoring Tool - The workflow starts with the Webhook node (Receive Uptime Alert). - Your monitoring tool must send a POST request with JSON payload including fields like: - serviceName - status - timestamp - customerImpact - errorCode - priority - etc. Step 2: Filter for Critical Status - The IF node (Filter for Critical Status) checks: - Only when the service is down does the workflow continue to create a Jira incident. Step 3: Create Jira Incident Task - The Create New Jira Incident node generates a Jira Task with: - Summary: serviceName + timestamp - Description: dynamic fields based on the alert payload - Set your Jira Project and Issue Type as needed. Step 4: Fetch Slack On-Call Channel Members - The workflow calls Slack API to retrieve all user IDs in a designated channel (e.g., on-call-team). Step 5: Loop Through Each Member - Split In Batches Node loops each Slack member individually. - For each user, their Slack presence is fetched using: Step 6: Build Final Data for Each User - The Set node (Collect & Set Final Data) stores: - presence - member ID - service details - Jira ticket ID - downtime info - and more Step 7: Select the Best On-Call User A custom Code node uses presence-based logic: Selection Logic 1. If one or more users are active → randomly pick one active user. 2. If only one user is active → pick that user. 3. If no users are active → default to the first member from the channel. This ensures you always get a responder. Step 8: Notify Selected User - The Slack Notify Node sends a formatted dir