AutomationFlowsSlack & Telegram › Log Workflow Errors to Slack and Google Sheets

Log Workflow Errors to Slack and Google Sheets

ByPixcels Themes @pixcelsthemes on n8n.io

This template is for teams using n8n in production who want immediate visibility into workflow failures. It’s ideal for DevOps teams, automation engineers, and operations teams who need reliable error monitoring, alerting, and historical logs without building custom…

Event trigger★★☆☆☆ complexity7 nodesError TriggerSlackGoogle Sheets
Slack & Telegram Trigger: Event Nodes: 7 Complexity: ★★☆☆☆ Added:

This workflow corresponds to n8n.io template #13789 — we link there as the canonical source.

This workflow follows the Error Trigger → Google Sheets recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "6ea74f53-4751-410c-9731-a2b253b6673c",
      "name": "Error Trigger",
      "type": "n8n-nodes-base.errorTrigger",
      "position": [
        -544,
        -256
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "b5ba806f-9fa2-4287-8b26-091d34e20750",
      "name": "Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        -96,
        -256
      ],
      "parameters": {
        "text": "={{ $json.message }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "name",
          "value": "#alerts-n8n-workflows"
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "08d30ea9-049c-4b5e-bce1-488bea5f1cc4",
      "name": "Set message",
      "type": "n8n-nodes-base.set",
      "position": [
        -304,
        -256
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "message",
              "value": "=:warning: [prod] workflow `{{$json[\"workflow\"][\"name\"]}}` failed to run! &lt;{{ $json.execution.url }}|execution&gt;\n\nerror message from node: {{ $json.execution.lastNodeExecuted }}\n {{ $json.execution.error.message }}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "id": "211af477-e53e-47da-9f85-e0af1f1fe1e1",
      "name": "Append row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -96,
        -16
      ],
      "parameters": {
        "columns": {
          "value": {
            "url": "{{ $json.execution.url }}",
            "node": "{{ $json.execution.lastNodeExecuted }}",
            "workflow": "{{$json[\"workflow\"][\"name\"]}}",
            "error message": "{{ $json.execution.error.message }}"
          },
          "schema": [
            {
              "id": "workflow",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "workflow",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "url",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "node",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "node",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "error message",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "error message",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16NKSpoO7Ib5cKbWsTtlrcod8a_0P6TBUivf-E9E-i9U/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "16NKSpoO7Ib5cKbWsTtlrcod8a_0P6TBUivf-E9E-i9U",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16NKSpoO7Ib5cKbWsTtlrcod8a_0P6TBUivf-E9E-i9U/edit?usp=drivesdk",
          "cachedResultName": "workflow error logs"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "01a479c2-d204-46d1-b9ff-de49bc3f937b",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1200,
        -368
      ],
      "parameters": {
        "width": 576,
        "height": 416,
        "content": "## n8n Workflow Error Logger\n### How it works\n1. This workflow activates automatically when another n8n workflow fails.\n2. It captures essential error details, including the failing workflow's name, execution link, and the specific error message\n3. A summary message is prepared with these details.\n4. The error summary is immediately posted to a designated Slack channel.\n5. Concurrently, the full error details are appended as a new row in a specified Google Sheet for record-keeping and analysis.\n\n### Setup\n- [ ] Connect your Slack account.\n- [ ] Select the Slack channel where error alerts should be sent (e.g., `#alerts-n8n-workflows`).\n- [ ] Connect your Google Sheets account.\n- [ ] Select the Google Sheet and worksheet for logging workflow errors.\n- [ ] Activate this workflow to start monitoring for errors."
      },
      "typeVersion": 1
    },
    {
      "id": "2b432ca2-7095-4dd8-8785-691d560b80f3",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        -320
      ],
      "parameters": {
        "color": 7,
        "width": 400,
        "height": 208,
        "content": "## identify error"
      },
      "typeVersion": 1
    },
    {
      "id": "06ae8bcc-2c77-422d-8cc5-becb0b9b3fe1",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -144,
        -320
      ],
      "parameters": {
        "color": 7,
        "height": 464,
        "content": "## log error"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Slack": {
      "main": [
        []
      ]
    },
    "Set message": {
      "main": [
        [
          {
            "node": "Slack",
            "type": "main",
            "index": 0
          },
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Error Trigger": {
      "main": [
        [
          {
            "node": "Set message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This template is for teams using n8n in production who want immediate visibility into workflow failures. It’s ideal for DevOps teams, automation engineers, and operations teams who need reliable error monitoring, alerting, and historical logs without building custom…

Source: https://n8n.io/workflows/13789/ — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

Error Logger. Uses errorTrigger, googleSheets, slack, stickyNote. Event-driven trigger; 5 nodes.

Error Trigger, Google Sheets, Slack
Slack & Telegram

Google Sheets CRM Enrichment. Uses googleSheetsTrigger, httpRequest, googleSheets, slack. Event-driven trigger; 15 nodes.

Google Sheets Trigger, HTTP Request, Google Sheets +2
Slack & Telegram

Stop missing renewal deadlines and overpaying on auto-renewals. This workflow monitors your contract calendar in Google Sheets, sends progressive Slack notifications with manual research checklists, a

Slack, Error Trigger, Google Sheets
Slack & Telegram

Report N8N Workflow Errors To Slack. Uses slack, errorTrigger, stickyNote. Event-driven trigger; 5 nodes.

Slack, Error Trigger
Slack & Telegram

Googlesheets Slack. Uses typeformTrigger, googleSheets, emailSend, slack. Event-driven trigger; 5 nodes.

Typeform Trigger, Google Sheets, Email Send +1