workflow.jsonmonitoringN8nv1.0.0

n8n: Slack Notification Pipeline

Webhook-triggered Slack notifications with severity filtering and channel routing.

Setup time: ~8 min
Last updated: Mar 16, 2026
byRunbooks Communitycontributor

Template

workflow.json
{
  "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. 1

    Copy the workflow JSON above.

  2. 2

    In n8n, go to Workflows and click Import.

  3. 3

    Paste the JSON and update credential references.

  4. 4

    Activate the workflow.

Import into n8n

This is an n8n workflow. Import it directly into your n8n instance.

  1. 1

    Open your n8n instance (localhost:5678 or your cloud URL).

  2. 2

    Go to Workflows and click the + New button.

  3. 3

    Click the three-dot menu in the top right, then select "Import from JSON".

  4. 4

    Paste the workflow JSON from the template above.

  5. 5

    Update any placeholder values (channel names, webhook URLs, credentials).

  6. 6

    Activate the workflow with the toggle in the top right.

# Alternatively, import via n8n CLI:
n8n import:workflow --input=workflow.json

Version History

v1.0.0Initial releaseMar 16, 2026

Framework

N8n

Requirements

Webhook (n8n node)
Slack (n8n node)
Switch (n8n node)

File type

workflow.json

Version

v1.0.0

Updated Mar 16, 2026

Contributor

Runbooks Community

Community submission

You might also like