AutomationFlowsSlack & Telegram › Wf6: Audit Trail & Error Handling

Wf6: Audit Trail & Error Handling

WF6: Audit Trail & Error Handling. Uses googleSheets, errorTrigger, slack. Webhook trigger; 7 nodes.

Webhook trigger★★★★☆ complexity7 nodesGoogle SheetsError TriggerSlack
Slack & Telegram Trigger: Webhook Nodes: 7 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": "WF6: Audit Trail & Error Handling",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "audit-log",
        "options": {}
      },
      "id": "1",
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        100,
        200
      ]
    },
    {
      "parameters": {
        "jsCode": "const event = $input.item.json.body;\nreturn {\n  event_id: 'EVT-' + new Date().getTime(),\n  timestamp: new Date().toISOString(),\n  workflow: event.workflow || 'Unknown',\n  event_type: event.event_type || 'INFO',\n  details: JSON.stringify(event.details || {}),\n  severity: event.severity || 'INFO'\n};"
      },
      "id": "2",
      "name": "Format Log Entry",
      "type": "n8n-nodes-base.code",
      "typeVersion": 1,
      "position": [
        300,
        200
      ]
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "1bwj7MGobvcfDljlaO65o4hchdPWCdqGm8utdLaiDPOg",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "Audit_Trail",
          "mode": "name"
        },
        "columns": {
          "mappingMode": "autoMapInputData"
        },
        "options": {}
      },
      "id": "3",
      "name": "Append to Audit_Trail",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 3,
      "position": [
        500,
        200
      ]
    },
    {
      "parameters": {},
      "id": "4",
      "name": "Error Trigger",
      "type": "n8n-nodes-base.errorTrigger",
      "typeVersion": 1,
      "position": [
        100,
        400
      ]
    },
    {
      "parameters": {
        "jsCode": "const error = $input.item.json;\nreturn {\n  event_id: 'ERR-' + new Date().getTime(),\n  timestamp: new Date().toISOString(),\n  workflow: error.workflow.name,\n  event_type: 'ERROR',\n  details: JSON.stringify(error.error),\n  severity: 'CRITICAL'\n};"
      },
      "id": "5",
      "name": "Format Error Details",
      "type": "n8n-nodes-base.code",
      "typeVersion": 1,
      "position": [
        300,
        400
      ]
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "1bwj7MGobvcfDljlaO65o4hchdPWCdqGm8utdLaiDPOg",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "Audit_Trail",
          "mode": "name"
        },
        "columns": {
          "mappingMode": "autoMapInputData"
        },
        "options": {}
      },
      "id": "6",
      "name": "Append Error to Audit_Trail",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 3,
      "position": [
        500,
        400
      ]
    },
    {
      "parameters": {
        "channel": "#system-errors",
        "text": "={{ 'CRITICAL ERROR in ' + $json.workflow + ': ' + $json.details }}",
        "otherOptions": {}
      },
      "id": "7",
      "name": "Slack Alert",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2,
      "position": [
        700,
        400
      ]
    }
  ],
  "connections": {
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "Format Log Entry",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Log Entry": {
      "main": [
        [
          {
            "node": "Append to Audit_Trail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Error Trigger": {
      "main": [
        [
          {
            "node": "Format Error Details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Error Details": {
      "main": [
        [
          {
            "node": "Append Error to Audit_Trail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append Error to Audit_Trail": {
      "main": [
        [
          {
            "node": "Slack Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {}
}
Pro

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

About this workflow

WF6: Audit Trail & Error Handling. Uses googleSheets, errorTrigger, slack. Webhook trigger; 7 nodes.

Source: https://github.com/Apoo3va/Smart-Inventory-Warehouse-Automation-Platform/blob/main/WF6_Audit_Error_Handling.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 workflow receives receipt or invoice uploads via a webhook, uses OpenAI GPT-4o vision to extract structured fields, validates totals and currency against expected booking values, logs the result

HTTP Request, Slack, Google Sheets +1
Slack & Telegram

Invoice Data Extraction. Uses httpRequest, slack, googleSheets, errorTrigger. Webhook trigger; 16 nodes.

HTTP Request, Slack, Google Sheets +1
Slack & Telegram

This workflow automates school fee collection by processing Razorpay payment webhooks, updating student balances in Google Sheets, generating a PDF receipt, and sending it via Gmail, plus running a we

Google Sheets, Gmail, OpenAI +3
Slack & Telegram

This workflow receives negative brand mentions via webhook, uses OpenAI to classify crisis severity and draft a holding statement, logs incidents to Google Sheets, and notifies approvers and teams via

OpenAI, Google Sheets, Telegram +3
Slack & Telegram

This workflow is a complete, production-ready solution for recovering abandoned carts in Shopify stores using a multi-channel, multi-touch approach. It automates personalized follow-ups via Email, SMS

HTTP Request, Shopify, SendGrid +5