Sende n8n-Ausführungsfehleralarme an einen Slack-Kanal

Fortgeschritten

Dies ist ein DevOps-Bereich Automatisierungsworkflow mit 10 Nodes. Hauptsächlich werden N8n, Set, Code, Slack, Aggregate und andere Nodes verwendet. Stündliche n8n-Fehlerüberwachung mit Slack-Benachrichtigung

Voraussetzungen
  • Slack Bot Token oder Webhook URL

Kategorie

Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "7gbO6txgnBCmDw7c",
  "meta": {
    "instanceId": "3a51cf8d97711c544e4f2cb09ef2b6ab8c441b10f29e0911311ba2722a967418",
    "templateCredsSetupCompleted": true
  },
  "name": "Send n8n failed execution alerts to a Slack channel",
  "tags": [],
  "nodes": [
    {
      "id": "45a1993e-1a89-4077-b258-75c8d4e74bbb",
      "name": "Zeitplan-Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        900,
        460
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3491cecc-6ffc-4798-a5f4-a6230408010b",
      "name": "GetWorkflows",
      "type": "n8n-nodes-base.n8n",
      "position": [
        1360,
        460
      ],
      "parameters": {
        "filters": {
          "activeWorkflows": true
        },
        "requestOptions": {}
      },
      "credentials": {
        "n8nApi": {
          "id": "w9AYm4viCKUSl2da",
          "name": "N8N"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4f10d86d-1410-45c6-892a-e113fd4cb2b3",
      "name": "Loop",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1580,
        460
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "b06a9bcb-4fc6-488c-bb3e-7cf1f81547ca",
      "name": "n8n",
      "type": "n8n-nodes-base.n8n",
      "position": [
        1780,
        520
      ],
      "parameters": {
        "limit": 1,
        "filters": {
          "status": "error",
          "workflowId": {
            "__rl": true,
            "mode": "id",
            "value": "={{ $json.id }}"
          }
        },
        "options": {
          "activeWorkflows": false
        },
        "resource": "execution",
        "requestOptions": {}
      },
      "credentials": {
        "n8nApi": {
          "id": "w9AYm4viCKUSl2da",
          "name": "N8N"
        }
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "9012633d-3dcd-4bf5-9645-b90e51129a35",
      "name": "Aggregieren",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        2000,
        520
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "fd91c759-7ee6-45d8-96dd-91eabeb38796",
      "name": "MakeMessage",
      "type": "n8n-nodes-base.code",
      "position": [
        1780,
        360
      ],
      "parameters": {
        "jsCode": "const list = $input.all().map(item => item.json);\nconsole.log(list)\nlet blocks = [];\n\nfor (const item of list) {\n  if(item.qtdErrors > 0){\n    console.log(item)\n    blocks.push({\n\t\t\t\"type\": \"section\",\n\t\t\t\"text\": {\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": `:aviso: *${item.workflowName}*\\n *${item.qtdErrors}* errors found in the last run`\n\t\t\t},\n\t\t\t\"accessory\": {\n\t\t\t\t\"type\": \"button\",\n\t\t\t\t\"text\": {\n\t\t\t\t\t\"type\": \"plain_text\",\n\t\t\t\t\t\"text\": \"Vizualize\",\n\t\t\t\t\t\"emoji\": true\n\t\t\t\t},\n\t\t\t\t\"value\": \"click_me_123\",\n\t\t\t\t\"url\": `${item.url}`,\n\t\t\t\t\"action_id\": \"button-action\"\n\t\t\t}\n\t\t})\n  }\n}\n\nif(blocks.length > 0){\n  return {\n    blocks: blocks\n  };\n}else{\n  return null\n}\n"
      },
      "typeVersion": 2
    },
    {
      "id": "51db21fc-6bf1-4652-944f-a00f15f492b5",
      "name": "FilterLastHour",
      "type": "n8n-nodes-base.code",
      "position": [
        2220,
        520
      ],
      "parameters": {
        "jsCode": "const list = $(\"Aggregate\").last().json.data;\n\nconst lastHour = new Date();\nlastHour.setHours(lastHour.getHours() - 1);\n\n\nconst executionsLastHour = list.filter(execution => {\n  const dataStoppedAt = new Date(execution.stoppedAt);\n\n  return dataStoppedAt > lastHour;\n});\n\nif (executionsLastHour.length > 0) {\n  console.log(`Foram encontrados ${executionsLastHour.length} itens da última hora.`);\n} else {\n  console.log(\"Nenhum item da última hora foi encontrado.\");\n}\n\nreturn {\n  workflowId: $(\"Loop\").last().json.id,\n  workflowName: $(\"Loop\").last().json.name,\n  qtdErrors: executionsLastHour.length,\n  url: $(\"Config\").last().json.urlBase + $(\"Loop\").last().json.id\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "93684cff-609d-4b10-b375-d01724f03a42",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        900,
        240
      ],
      "parameters": {
        "width": 360,
        "height": 200,
        "content": "## Slack - Errors last 60 minutes\n\nThis workflow's objective is to monitor for errors and notify via Slack which workflows had failed executions in the last hour, providing a simple table with the ID, name, and error count.\n\nLinkedin: https://www.linkedin.com/in/matheus-pedrosa-custodio/"
      },
      "typeVersion": 1
    },
    {
      "id": "c11de8c2-1478-49ff-93a8-9cfeacb58507",
      "name": "Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        2000,
        360
      ],
      "parameters": {
        "text": "=",
        "user": {
          "__rl": true,
          "mode": "list",
          "value": "U05FMSA2610",
          "cachedResultName": "matheus.custodio"
        },
        "select": "user",
        "blocksUi": "={{ $json }}",
        "messageType": "block",
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "id": "dtoLOhzSRbL2Pte5",
          "name": "Slack Automacao"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "28c56721-55d9-448a-8311-57413b0deb84",
      "name": "Config",
      "type": "n8n-nodes-base.set",
      "position": [
        1140,
        460
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "{\n  \"urlBase\": \"https://n8n.com/workflow/\"\n}\n"
      },
      "typeVersion": 3.4
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "timezone": "America/Sao_Paulo",
    "callerPolicy": "workflowsFromSameOwner",
    "executionOrder": "v1",
    "executionTimeout": -1,
    "saveManualExecutions": true
  },
  "versionId": "b71a7834-6b2b-46df-8c1e-911d15b7a3c3",
  "connections": {
    "b06a9bcb-4fc6-488c-bb3e-7cf1f81547ca": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4f10d86d-1410-45c6-892a-e113fd4cb2b3": {
      "main": [
        [
          {
            "node": "fd91c759-7ee6-45d8-96dd-91eabeb38796",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "b06a9bcb-4fc6-488c-bb3e-7cf1f81547ca",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "28c56721-55d9-448a-8311-57413b0deb84": {
      "main": [
        [
          {
            "node": "3491cecc-6ffc-4798-a5f4-a6230408010b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "51db21fc-6bf1-4652-944f-a00f15f492b5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fd91c759-7ee6-45d8-96dd-91eabeb38796": {
      "main": [
        [
          {
            "node": "c11de8c2-1478-49ff-93a8-9cfeacb58507",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3491cecc-6ffc-4798-a5f4-a6230408010b": {
      "main": [
        [
          {
            "node": "4f10d86d-1410-45c6-892a-e113fd4cb2b3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "51db21fc-6bf1-4652-944f-a00f15f492b5": {
      "main": [
        [
          {
            "node": "4f10d86d-1410-45c6-892a-e113fd4cb2b3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "28c56721-55d9-448a-8311-57413b0deb84",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - DevOps

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes10
Kategorie1
Node-Typen8
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Autor
Matheus Pedrosa

Matheus Pedrosa

@julinho

I am a software engineer specializing in automations, with extensive experience on the N8N platform. With solid skills in JavaScript, Go, .NET, and C#, I am equipped to develop efficient and scalable solutions.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34