n8n: Slack Notification Pipeline
Webhook-triggered Slack notifications with severity filtering and channel routing.
Template
{
"name": "Slack Notification Pipeline",
"nodes": [
{
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"typeVersion": 1,
"position": [250, 300],
"parameters": {
"httpMethod": "POST",
"path": "notify",
"responseMode": "onReceived"
}
},
{
"name": "Parse Payload",
"type": "n8n-nodes-base.set",
"typeVersion": 1,
"position": [450, 300],
"parameters": {
"values": {
"string": [
{ "name": "severity", "value": "={{ $json.body.severity || 'info' }}" },
{ "name": "message", "value": "={{ $json.body.message || 'No message' }}" },
{ "name": "source", "value": "={{ $json.body.source || 'unknown' }}" }
]
}
}
},
{
"name": "Route by Severity",
"type": "n8n-nodes-base.switch",
"typeVersion": 1,
"position": [650, 300],
"parameters": {
"dataPropertyName": "severity",
"rules": {
"rules": [
{ "value": "critical" },
{ "value": "warning" },
{ "value": "info" }
]
}
}
},
{
"name": "Slack Critical",
"type": "n8n-nodes-base.slack",
"typeVersion": 2,
"position": [900, 150],
"parameters": {
"resource": "message",
"operation": "post",
"channel": "#incidents",
"text": "={{ ':rotating_light: *CRITICAL* [' + $json.source + ']:* ' + $json.message }}"
}
},
{
"name": "Slack Warning",
"type": "n8n-nodes-base.slack",
"typeVersion": 2,
"position": [900, 300],
"parameters": {
"resource": "message",
"operation": "post",
"channel": "#alerts",
"text": "={{ ':warning: *Warning* [' + $json.source + ']:* ' + $json.message }}"
}
},
{
"name": "Slack Info",
"type": "n8n-nodes-base.slack",
"typeVersion": 2,
"position": [900, 450],
"parameters": {
"resource": "message",
"operation": "post",
"channel": "#notifications",
"text": "={{ ':information_source: [' + $json.source + ']: ' + $json.message }}"
}
}
],
"connections": {
"Webhook": { "main": [[{ "node": "Parse Payload" }]] },
"Parse Payload": { "main": [[{ "node": "Route by Severity" }]] },
"Route by Severity": { "main": [[{ "node": "Slack Critical" }], [{ "node": "Slack Warning" }], [{ "node": "Slack Info" }]] }
},
"active": false,
"settings": {}
}Setup
- 1
Copy the workflow JSON above.
- 2
In n8n, go to Workflows and click Import.
- 3
Paste the JSON and update credential references.
- 4
Activate the workflow.
Import into n8n
This is an n8n workflow. Import it directly into your n8n instance.
- 1
Open your n8n instance (localhost:5678 or your cloud URL).
- 2
Go to Workflows and click the + New button.
- 3
Click the three-dot menu in the top right, then select "Import from JSON".
- 4
Paste the workflow JSON from the template above.
- 5
Update any placeholder values (channel names, webhook URLs, credentials).
- 6
Activate the workflow with the toggle in the top right.
# Alternatively, import via n8n CLI:
n8n import:workflow --input=workflow.jsonVersion History
Framework
N8nRequirements
File type
Version
Updated Mar 16, 2026
You might also like
Uptime Monitor
Check your sites every 5 minutes. Alert on downtime.
~$0.10/day · ~3 min setup
API Cost Tracker
Monitor API usage and costs. Alert on spending spikes.
~$0.10/day · ~5 min setup
Security Scanner
Weekly security checks. SSL certs, exposed ports, dependency vulnerabilities.
~$0.05/day · ~10 min setup