This workflow corresponds to n8n.io template #13074 — we link there as the canonical source.
This workflow follows the Error Trigger → HTTP Request 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "6179a213-35c4-4b15-8cd8-4d218399e51f",
"name": "Overview",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1456,
-192
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "309dd3a2-15e5-4d39-a38e-72644e97a4dd",
"name": "Data validation",
"type": "n8n-nodes-base.stickyNote",
"position": [
-992,
-192
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "2aae6059-a399-4415-8bd5-af6826aaa544",
"name": "Webhook - Lead Capture",
"type": "n8n-nodes-base.webhook",
"position": [
-928,
-64
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d48f9da9-c206-499c-9560-d5057a297900",
"name": "Normalize Lead Data",
"type": "n8n-nodes-base.code",
"position": [
-736,
-64
],
"parameters": {},
"typeVersion": 2
},
{
"id": "baa8c2e4-f7e1-4bc4-8f24-11e6bd857ab0",
"name": "IF - Valid Email",
"type": "n8n-nodes-base.if",
"position": [
-496,
-64
],
"parameters": {},
"typeVersion": 1
},
{
"id": "5b386fe2-753f-42fa-865c-2fbe068886b5",
"name": "Format Error Response",
"type": "n8n-nodes-base.code",
"position": [
-496,
96
],
"parameters": {},
"typeVersion": 2
},
{
"id": "103131f7-afc9-4bb5-a4d9-f9b6978177ba",
"name": "Respond - Validation Error",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
-272,
96
],
"parameters": {},
"typeVersion": 1
},
{
"id": "1ed0c3b4-989d-4ce6-b38f-bcbedf20a504",
"name": "Database operations",
"type": "n8n-nodes-base.stickyNote",
"position": [
-112,
-192
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "a8fe8b6e-c51c-40ba-a982-94476e5e254a",
"name": "Prepare API Body",
"type": "n8n-nodes-base.code",
"position": [
-96,
-64
],
"parameters": {},
"typeVersion": 2
},
{
"id": "bdd63fa8-a945-4e2e-b323-ad4772c73c4d",
"name": "API - Upsert Contact",
"type": "n8n-nodes-base.httpRequest",
"position": [
144,
-64
],
"parameters": {},
"typeVersion": 4
},
{
"id": "ae39f8e3-127a-446f-83be-8332e3431bfb",
"name": "Lead scoring and routing",
"type": "n8n-nodes-base.stickyNote",
"position": [
464,
-192
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "d13a5c2e-d21c-4814-b85c-c012f93a772a",
"name": "Calculate Lead Score",
"type": "n8n-nodes-base.code",
"position": [
496,
-64
],
"parameters": {},
"typeVersion": 2
},
{
"id": "71bd8aac-224d-4793-b6c4-5a5b1742ba00",
"name": "Score Router",
"type": "n8n-nodes-base.switch",
"position": [
736,
-64
],
"parameters": {},
"typeVersion": 2
},
{
"id": "fae93c8c-257b-4076-b294-e5b2fe47fb6b",
"name": "Format Slack Alert",
"type": "n8n-nodes-base.code",
"position": [
912,
-32
],
"parameters": {},
"typeVersion": 2
},
{
"id": "4dcfb0e7-57b4-4e85-a0c2-0979b2a87736",
"name": "Slack - Hot Lead Alert",
"type": "n8n-nodes-base.slack",
"position": [
1152,
-32
],
"parameters": {},
"typeVersion": 2
},
{
"id": "a7dfcac7-22ef-480d-b0e2-ba210497a85b",
"name": "API - Update Score (Hot)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1344,
-32
],
"parameters": {},
"typeVersion": 4
},
{
"id": "86f50a98-6752-4cca-99bb-447a66fd3ddf",
"name": "API - Update Score (Warm)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1008,
96
],
"parameters": {},
"typeVersion": 4
},
{
"id": "5b16f36f-b69d-4eb9-98a0-c3fe2f72eb46",
"name": "Log Cold Lead",
"type": "n8n-nodes-base.noOp",
"position": [
1008,
256
],
"parameters": {},
"typeVersion": 1
},
{
"id": "466e47d8-44e3-4c5d-803a-8e1bb243ad41",
"name": "Webhook response",
"type": "n8n-nodes-base.stickyNote",
"position": [
1536,
-192
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "ee4c570e-0740-40a2-bcab-9770fc9a39bf",
"name": "Format Success Response",
"type": "n8n-nodes-base.code",
"position": [
1568,
-64
],
"parameters": {},
"typeVersion": 2
},
{
"id": "f7eab8b2-b106-4b63-bd16-3faa09df82ab",
"name": "Respond - Success",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
1808,
-64
],
"parameters": {},
"typeVersion": 1
},
{
"id": "0b67d41b-ac21-47bf-ae49-ac63e9f7d940",
"name": "Error handling",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1408,
816
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "59a35ac2-8846-45e5-ad39-5782b3b47e46",
"name": "Error Trigger",
"type": "n8n-nodes-base.errorTrigger",
"position": [
-1376,
928
],
"parameters": {},
"typeVersion": 1
},
{
"id": "aa34d9da-999e-42a8-b1f2-cba76f185cf6",
"name": "Format Error",
"type": "n8n-nodes-base.code",
"position": [
-1136,
928
],
"parameters": {},
"typeVersion": 2
},
{
"id": "85569d2d-3412-413f-94dd-70e112760e61",
"name": "Slack - Error Alert",
"type": "n8n-nodes-base.slack",
"position": [
-896,
928
],
"parameters": {},
"typeVersion": 2
}
],
"connections": {
"Format Error": {
"main": [
[
{
"node": "Slack - Error Alert",
"type": "main",
"index": 0
}
]
]
},
"Score Router": {
"main": [
[
{
"node": "Format Slack Alert",
"type": "main",
"index": 0
}
],
[
{
"node": "API - Update Score (Warm)",
"type": "main",
"index": 0
}
],
[
{
"node": "Log Cold Lead",
"type": "main",
"index": 0
}
]
]
},
"Error Trigger": {
"main": [
[
{
"node": "Format Error",
"type": "main",
"index": 0
}
]
]
},
"Log Cold Lead": {
"main": [
[
{
"node": "Format Success Response",
"type": "main",
"index": 0
}
]
]
},
"IF - Valid Email": {
"main": [
[
{
"node": "Prepare API Body",
"type": "main",
"index": 0
}
],
[
{
"node": "Format Error Response",
"type": "main",
"index": 0
}
]
]
},
"Prepare API Body": {
"main": [
[
{
"node": "API - Upsert Contact",
"type": "main",
"index": 0
}
]
]
},
"Format Slack Alert": {
"main": [
[
{
"node": "Slack - Hot Lead Alert",
"type": "main",
"index": 0
}
]
]
},
"Normalize Lead Data": {
"main": [
[
{
"node": "IF - Valid Email",
"type": "main",
"index": 0
}
]
]
},
"API - Upsert Contact": {
"main": [
[
{
"node": "Calculate Lead Score",
"type": "main",
"index": 0
}
]
]
},
"Calculate Lead Score": {
"main": [
[
{
"node": "Score Router",
"type": "main",
"index": 0
}
]
]
},
"Format Error Response": {
"main": [
[
{
"node": "Respond - Validation Error",
"type": "main",
"index": 0
}
]
]
},
"Slack - Hot Lead Alert": {
"main": [
[
{
"node": "API - Update Score (Hot)",
"type": "main",
"index": 0
}
]
]
},
"Webhook - Lead Capture": {
"main": [
[
{
"node": "Normalize Lead Data",
"type": "main",
"index": 0
}
]
]
},
"Format Success Response": {
"main": [
[
{
"node": "Respond - Success",
"type": "main",
"index": 0
}
]
]
},
"API - Update Score (Hot)": {
"main": [
[
{
"node": "Format Success Response",
"type": "main",
"index": 0
}
]
]
},
"API - Update Score (Warm)": {
"main": [
[
{
"node": "Format Success Response",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Store leads in a SQL Server database via REST API with automatic scoring and Slack notifications.
Source: https://n8n.io/workflows/13074/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Ad agencies needing automated lead capture. Sales teams fighting fraud and scoring leads. B2B SaaS companies nurturing prospects. Marketing pros boosting sales pipelines. Captures leads via Webhook fr
This workflow captures real estate property inquiries via a webhook, validates and normalizes lead details, upserts the lead into Google Sheets, sends an auto-reply through Gmail, and notifies your te
This workflow captures real estate property inquiries via a webhook, saves the lead to Google Sheets, sends an auto-reply email through Gmail, and posts a notification to a Slack channel before return
This workflow captures shoe-shopping leads via a Tally form webhook, matches products from Google Sheets, uses a local Llama model (Ollama HTTP API) to score the lead and draft recommendations, then e
AI Lead Qualification & Follow-Up. Uses httpRequest, slack, googleSheets, gmail. Webhook trigger; 18 nodes.