AutomationFlowsGeneral › Webhook Handler with Stop and Error

Webhook Handler with Stop and Error

Original n8n title: Stopanderror Stickynote

Stopanderror Stickynote. Uses stopAndError, stickyNote. Webhook trigger; 15 nodes.

Webhook trigger★★★★☆ complexity15 nodesStop And Error
General Trigger: Webhook Nodes: 15 Complexity: ★★★★☆ Added:

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
{
  "nodes": [
    {
      "id": "99bbf837-2834-4cae-af13-37b6cdf963bb",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -480,
        -40
      ],
      "parameters": {
        "path": "83f4e1de-2011-487c-a9f7-be6ccbac0782",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "0f7c13ea-196b-40a7-bf1e-4829caaaba4c",
      "name": "Stop and Error",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        180,
        60
      ],
      "parameters": {
        "errorMessage": "Invalid verification token"
      },
      "typeVersion": 1
    },
    {
      "id": "7ddb4cfc-5917-4b19-acf8-c7db3eaab56a",
      "name": "Donation",
      "type": "n8n-nodes-base.set",
      "position": [
        400,
        -420
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "67607a8e-55e2-46ec-92f5-1c8ef3addf9c",
              "name": "from_name",
              "type": "string",
              "value": "={{ $json.body.from_name }}"
            },
            {
              "id": "3e6e86ac-b6c2-4b5f-9e33-22367b9fb9e5",
              "name": "message",
              "type": "string",
              "value": "={{ $json.body.message }}"
            },
            {
              "id": "4973525a-21b0-442c-8919-24c312f3ff0c",
              "name": "amount",
              "type": "string",
              "value": "={{ $json.body.amount }}"
            },
            {
              "id": "b7e2d9e1-61c2-4ad1-9cbd-d8a754993fbe",
              "name": "url",
              "type": "string",
              "value": "={{ $json.body.email }}"
            },
            {
              "id": "da26860f-c1c4-4918-9447-ed080e921fe7",
              "name": "currency",
              "type": "string",
              "value": "={{ $json.body.currency }}"
            },
            {
              "id": "380dbd53-eb04-4659-aa54-b6bde0ba7034",
              "name": "is_public",
              "type": "string",
              "value": "={{ $json.body.is_public }}"
            },
            {
              "id": "4fd65c21-3043-4513-96b3-d2e11656e94a",
              "name": "timestamp",
              "type": "string",
              "value": "={{ $json.body.timestamp }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "9c29ae0e-d80c-4613-ba11-535cc59d5603",
      "name": "Subscription",
      "type": "n8n-nodes-base.set",
      "position": [
        400,
        -140
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "886b9cca-15b1-49b4-a123-6f3ceb46279e",
              "name": "timestamp",
              "type": "string",
              "value": "={{ $json.body.timestamp }}"
            },
            {
              "id": "3c4d9c0e-3cd6-41d2-8223-c48f1dcccedc",
              "name": "from_name",
              "type": "string",
              "value": "={{ $json.body.from_name }}"
            },
            {
              "id": "7199ad4d-06ad-4bed-939b-e97d6d118d9b",
              "name": "message",
              "type": "string",
              "value": "={{ $json.body.message }}"
            },
            {
              "id": "270eeac1-b7f9-4cfb-9ac8-b0799b36482e",
              "name": "amount",
              "type": "string",
              "value": "={{ $json.body.amount }}"
            },
            {
              "id": "dbf3a671-715c-4e29-96d5-2767b6a620d8",
              "name": "url",
              "type": "string",
              "value": "={{ $json.body.url }}"
            },
            {
              "id": "79ae8427-e5fe-470f-bdc0-df0d8bcbad00",
              "name": "email",
              "type": "string",
              "value": "={{ $json.body.email }}"
            },
            {
              "id": "90c73e4d-197a-4ba3-b6fb-b7b79b62e69c",
              "name": "currency",
              "type": "string",
              "value": "={{ $json.body.currency }}"
            },
            {
              "id": "3e23aaad-70f4-429b-bee1-3ae0156aaa86",
              "name": "is_first_subscription_payment",
              "type": "string",
              "value": "={{ $json.body.is_first_subscription_payment }}"
            },
            {
              "id": "3ca5ca22-d8b7-4a90-a97e-aaed032ef705",
              "name": "tier_name",
              "type": "string",
              "value": "={{ $json.body.tier_name }}"
            },
            {
              "id": "1347258b-1f6d-4d44-bd64-95fb948cbff9",
              "name": "is_public",
              "type": "string",
              "value": "={{ $json.body.is_public }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "a050d88e-bbe8-4ee1-b1c6-31782b5b2f20",
      "name": "Shop Order",
      "type": "n8n-nodes-base.set",
      "position": [
        400,
        140
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "9f2d01f6-d172-4aea-b2ea-e64857592191",
              "name": "from_name",
              "type": "string",
              "value": "={{ $json.body.from_name }}"
            },
            {
              "id": "bbc1fcba-ec29-4599-9d78-4e1a37ecede3",
              "name": "amount",
              "type": "string",
              "value": "={{ $json.body.amount }}"
            },
            {
              "id": "2ea190ac-700b-4682-9baa-7d733f89b819",
              "name": "email",
              "type": "string",
              "value": "={{ $json.body.email }}"
            },
            {
              "id": "eb0af9d5-9650-4457-b0fd-44f679972a79",
              "name": "currency",
              "type": "string",
              "value": "={{ $json.body.currency }}"
            },
            {
              "id": "9acec88b-61d5-4520-bf51-f71b4e2e26f6",
              "name": "shop_items",
              "type": "array",
              "value": "={{ $json.body.shop_items }}"
            },
            {
              "id": "2e1fb035-b32c-492f-9705-7159ef0b2c5d",
              "name": "url",
              "type": "string",
              "value": "={{ $json.body.url }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "f9926fda-9a37-467e-b86b-ce9dbb051a88",
      "name": "Is new subscriber?",
      "type": "n8n-nodes-base.if",
      "position": [
        620,
        -140
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "87fbcc71-a0a4-4820-bb67-9551d44e0500",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.is_first_subscription_payment }}",
              "rightValue": "true"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "b158a59d-5166-4469-b999-5235768855c0",
      "name": "Prepare",
      "type": "n8n-nodes-base.set",
      "position": [
        -260,
        -40
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "aabaa149-d74b-464c-bbb6-12e2e8a884d9",
              "name": "verificationToken",
              "type": "string",
              "value": "7dd9d4ef-8412-4add-a0d0-b548ad4564b9"
            },
            {
              "id": "c2f7a7ce-99b0-44c7-b2cf-1ebf85e0917d",
              "name": "body",
              "type": "object",
              "value": "={{ $json.body.data }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "a4fd9607-6d5b-4fbd-a4ce-53e9960887e0",
      "name": "Check token",
      "type": "n8n-nodes-base.if",
      "position": [
        -40,
        -40
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "439af86e-c768-4165-ae64-86cd32a07084",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.body.verification_token }}",
              "rightValue": "={{ $json.verificationToken }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "6c34228e-434c-4ab3-b0ce-0b5c1721ffc8",
      "name": "Check type",
      "type": "n8n-nodes-base.switch",
      "position": [
        180,
        -140
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "edd5eaa2-60c7-459a-9846-b952b390b1db",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.body.type }}",
                    "rightValue": "Donation"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "0cc7f0bf-4d1b-45a5-88ed-5b84050222f8",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.body.type }}",
                    "rightValue": "Subscription"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "a1b74233-7700-434b-be5c-76129c4cd88c",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.body.type }}",
                    "rightValue": "Shop Order"
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "87fd0134-5eb4-4c47-acb5-137f24e819f4",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -300,
        -140
      ],
      "parameters": {
        "color": 6,
        "width": 200,
        "height": 260,
        "content": "### Set verification token\nSet your Ko-fi  verification token in this node. Available [here](https://ko-fi.com/manage/webhooks)."
      },
      "typeVersion": 1
    },
    {
      "id": "78ac15cb-1336-424e-a235-6e7a66090b9d",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -520,
        -140
      ],
      "parameters": {
        "color": 6,
        "width": 200,
        "height": 260,
        "content": "### Setup your webhook\nFind your webhook URL in this node and set it  [here](https://ko-fi.com/manage/webhooks)."
      },
      "typeVersion": 1
    },
    {
      "id": "30892b66-66fb-4926-b817-e280cbadf5ea",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        360,
        -520
      ],
      "parameters": {
        "color": 7,
        "width": 540,
        "height": 260,
        "content": "### We received a donation\nDo your thing."
      },
      "typeVersion": 1
    },
    {
      "id": "3b849d93-ffa5-4dfe-8743-d43ca7d06e60",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        360,
        -240
      ],
      "parameters": {
        "color": 7,
        "width": 540,
        "height": 260,
        "content": "### We received a payment for a subscription\nDo your thing."
      },
      "typeVersion": 1
    },
    {
      "id": "bff1913d-1c18-4447-8448-aa059d7b020f",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        360,
        40
      ],
      "parameters": {
        "color": 7,
        "width": 540,
        "height": 260,
        "content": "### We received a shop order\nDo your thing."
      },
      "typeVersion": 1
    },
    {
      "id": "07da890d-5cc8-4f51-b0c2-c50831c84a64",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -520,
        -560
      ],
      "parameters": {
        "width": 860,
        "height": 400,
        "content": "## Receive and handle Ko-fi payment webhooks \nThis workflow receives [Ko-fi payment webhooks](https://ko-fi.com/manage/webhooks), checks the verification token and then check what kind of payment it is.\n\n### Set up\n1. Edit the `Webhook` node and find your webhook URL.\n2. Go to your [Ko-fi webhooks settings](https://ko-fi.com/manage/webhooks) and set your URL\n3. Get your `verification token` from the same page (under advanced) and set it in the `Prepare` node\n4. Enable your workflow and test it from [Ko-fi webhooks settings](https://ko-fi.com/manage/webhooks)\n5. Profit \ud83c\udf89\n\n**\ud83d\udc4b Hello! I'm Audun / xqus** \n\ud83d\udd17 My work: [xqus.com](https://xqus.com)\n\ud83d\udcb8 n8n shop: [xqus.gumroad.com](https://xqus.gumroad.com)\n\n### Want to trigger my workflow?\nSupport my work on [Ko-fi](https://ko-fi.com/xquscom) \ud83d\udcb8"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Prepare": {
      "main": [
        [
          {
            "node": "Check token",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Prepare",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check type": {
      "main": [
        [
          {
            "node": "Donation",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Subscription",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Shop Order",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check token": {
      "main": [
        [
          {
            "node": "Check type",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Stop and Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Subscription": {
      "main": [
        [
          {
            "node": "Is new subscriber?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

How this works

This workflow enables you to swiftly halt automation processes and capture detailed error notes when issues arise, ensuring your team can quickly diagnose and resolve problems without losing critical context. It's ideal for developers and operations managers handling complex workflows involving subscriptions, shop orders, and donations, particularly in e-commerce or membership platforms. The key step involves the stopAndError node, triggered by a webhook, which immediately pauses execution and logs a sticky note with error details, seamlessly integrating with n8n's set and if nodes for conditional checks like verifying new subscribers or tokens.

Use this workflow when you need robust error trapping in webhook-driven automations to prevent cascading failures in real-time systems, such as processing payments or user registrations. Avoid it for simple, low-risk tasks where full stops could disrupt minor operations unnecessarily. Common variations include adding email notifications after the sticky note or integrating with tools like Slack for instant alerts on errors.

About this workflow

Stopanderror Stickynote. Uses stopAndError, stickyNote. Webhook trigger; 15 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More General workflows → · Browse all categories →

Related workflows

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

General

Auth0 User Login. Uses httpRequest, stopAndError, respondToWebhook, stickyNote. Webhook trigger; 16 nodes.

HTTP Request, Stop And Error
General

TheHive. Uses theHive, signl4, stopAndError. Webhook trigger; 9 nodes.

The Hive, Signl4, Stop And Error
General

Webhooks are special URLs that instantly trigger workflows when they receive an incoming HTTP request (like GET or POST). They're perfect for connecting external tools to n8n in real time.

Stop And Error
General

A clean, extensible REST-style API routing template for n8n webhooks with up to 3 path levels. Serves API routes via Webhooks with path variables Normalizes incoming requests into "global" REQUEST and

General

PUQ Docker NextCloud deploy. Uses respondToWebhook, stickyNote, httpRequest, ssh. Webhook trigger; 44 nodes.

HTTP Request, Ssh