AutomationFlowsSlack & Telegram › Daily Briefing Error Handler

Daily Briefing Error Handler

daily-briefing-error-handler. Uses errorTrigger, slack, googleSheets. Event-driven trigger; 4 nodes.

Event trigger★★☆☆☆ complexity4 nodesError TriggerSlackGoogle Sheets
Slack & Telegram Trigger: Event Nodes: 4 Complexity: ★★☆☆☆ Added:

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
{
  "name": "daily-briefing-error-handler",
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.errorTrigger",
      "typeVersion": 1,
      "position": [
        0,
        0
      ],
      "id": "900b0fd3-36c9-4bf0-927c-d05ae9f6552a",
      "name": "Error Trigger",
      "notesInFlow": true,
      "alwaysOutputData": false,
      "executeOnce": false,
      "retryOnFail": false
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "5f72384e-ba41-42dc-9480-2aeac855d442",
              "name": "executionUrl",
              "value": "={{ $json.execution.url }}",
              "type": "string"
            },
            {
              "id": "ea8664c1-d5b7-45ac-833a-63a1f1b7e2a0",
              "name": "execution.url",
              "value": "={{ $json.execution.url }}",
              "type": "string"
            },
            {
              "id": "6e93de57-6961-4f7e-9b80-290315d96fcf",
              "name": "execution.retryOf",
              "value": "={{ $json.execution.retryOf }}",
              "type": "string"
            },
            {
              "id": "65cb4034-e457-4625-9274-91515399f451",
              "name": "execution.lastNodeExecuted",
              "value": "={{ $json.execution.lastNodeExecuted }}",
              "type": "string"
            },
            {
              "id": "4af15108-3188-43b8-a7ac-f872cdd56dca",
              "name": "workflow",
              "value": "={{ $json.workflow }}",
              "type": "object"
            },
            {
              "id": "2f58c039-a8d0-46f9-903a-7d95f862ae56",
              "name": "execution.id",
              "value": "={{ $json.execution.id }}",
              "type": "number"
            },
            {
              "id": "399f5b86-96e1-4ad3-a7e8-3af657ec650e",
              "name": "execution.error.message",
              "value": "={{ $json.execution.error.message }}",
              "type": "string"
            },
            {
              "id": "a37f4dfc-568e-4639-929b-f713e5abee40",
              "name": "execution.mode",
              "value": "={{ $json.execution.mode }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        208,
        0
      ],
      "id": "c219192d-d6c6-4117-949c-64c1a09de786",
      "name": "Edit Fields Error"
    },
    {
      "parameters": {
        "select": "channel",
        "channelId": {
          "__rl": true,
          "value": "={{ $env.SLACK_ERROR_CHANNEL }}",
          "mode": "name"
        },
        "text": "={{ `:x: *Workflow execution failed*\n*Workflow:* ${$json.workflow.name} (#${$json.workflow.id})\n*Execution ID:* ${$json.execution.id}\n*Failed node:* ${$json.execution.lastNodeExecuted}\n*Mode:* ${$json.execution.mode}\n*Retry of:* ${$json.execution.retryOf || 'n/a'}\n*Error:* ${$json.execution.error.message}\n*Execution URL:* ${$json.execution.url}` }}",
        "otherOptions": {}
      },
      "name": "Send Slack",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2,
      "position": [
        368,
        0
      ],
      "id": "7023db00-5d78-4958-94f0-6bb38d04b737",
      "retryOnFail": true,
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "={{ $env.GOOGLE_SHEETS_DOCUMENT_ID }}",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "={{ $env.GOOGLE_SHEETS_ERRORS_SHEET }}",
          "mode": "name",
          "cachedResultName": "={{ $env.GOOGLE_SHEETS_ERRORS_SHEET || 'Errors' }}"
        },
        "columns": {
          "mappingMode": "autoMapInputData",
          "value": {},
          "matchingColumns": [],
          "schema": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "name": "Log to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4,
      "position": [
        608,
        112
      ],
      "id": "277124fe-4355-41d1-a2c5-3557a28c5c01",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Error Trigger": {
      "main": [
        [
          {
            "node": "Edit Fields Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields Error": {
      "main": [
        [
          {
            "node": "Send Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Slack": {
      "main": [
        [],
        [
          {
            "node": "Log to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate",
    "availableInMCP": false
  },
  "versionId": "2b5efd33-aa2c-426f-9de4-41ec8a989afc",
  "nodeGroups": [],
  "id": "NZuUQO34AjHlAGrA",
  "tags": []
}

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

daily-briefing-error-handler. Uses errorTrigger, slack, googleSheets. Event-driven trigger; 4 nodes.

Source: https://github.com/DevPartner/daily-briefing-poc/blob/main/daily-briefing-error-handler.json — 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

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

Error Trigger, Slack, Google Sheets
Slack & Telegram

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

Error Trigger, Google Sheets, Slack
Slack & Telegram

This workflow manages clinic appointments across Google Sheets and Google Calendar, using webhooks and Telegram to book and confirm visits, Gmail and Telegram to deliver prescriptions, scheduled Teleg

Google Calendar, Telegram, Google Sheets +4
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