This workflow follows the HTTP Request → Slack 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 →
{
"name": "Inbound Form",
"nodes": [
{
"parameters": {
"path": "inbound/form",
"method": "POST"
},
"id": "Webhook",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"typeVersion": 1,
"position": [
200,
200
]
},
{
"parameters": {
"functionCode": "const payload = items[0].json;\nreturn [{ json: {\n email: payload.email || payload.contact_email,\n name: payload.name || payload.full_name,\n phone: payload.phone,\n company: payload.company,\n country: payload.country,\n optIn: payload.optIn ?? false,\n source: payload.source || 'webhook',\n extras: payload\n} }];"
},
"id": "Normalize",
"name": "Normalize",
"type": "n8n-nodes-base.function",
"typeVersion": 1,
"position": [
440,
200
]
},
{
"parameters": {
"requestMethod": "POST",
"url": "http://api:8080/v1/leads?score=true",
"jsonParameters": true,
"options": {
"headers": {
"X-API-Key": "={{$env.API_DEV_KEY}}",
"X-Idempotency-Key": "={{$json.email}}-{{$json.source}}"
}
},
"body": "={{$json}}"
},
"id": "CreateLead",
"name": "Create Lead",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 1,
"position": [
680,
200
]
},
{
"parameters": {
"conditions": {
"number": [
{
"value1": "={{$json[\"body\"].scoreTotal}}",
"operation": "largerEqual",
"value2": 60
}
]
}
},
"id": "CheckScore",
"name": "Check Score",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
920,
200
]
},
{
"parameters": {
"channel": "#leads",
"text": "={{`Novo lead: ${$json.body.email} (score ${$json.body.scoreTotal})`}}"
},
"id": "Notify",
"name": "Notify Slack",
"type": "n8n-nodes-base.slack",
"typeVersion": 1,
"position": [
1160,
120
]
}
],
"connections": {
"Webhook": {
"main": [
[
{
"node": "Normalize",
"type": "main",
"index": 0
}
]
]
},
"Normalize": {
"main": [
[
{
"node": "Create Lead",
"type": "main",
"index": 0
}
]
]
},
"Create Lead": {
"main": [
[
{
"node": "Check Score",
"type": "main",
"index": 0
}
]
]
},
"Check Score": {
"main": [
[],
[
{
"node": "Notify Slack",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Inbound Form. Uses httpRequest, slack. Webhook trigger; 5 nodes.
Source: https://github.com/ThBraum/Leads-Scoring/blob/fcd6bd6d1483e7b6e97016538731ec55d8d899cd/n8n/inbound-form.json — 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.
Automatically qualify, score, and route inbound B2B leads using GPT-4o-mini — no manual review needed.
This repository contains an SLA-based lead routing workflow built in n8n, designed to ensure fast lead response, fair sales distribution, and controlled escalation without relying on a full CRM system
Find companies similar to your best clients using PredictLeads, enrich each with news, hiring, and tech signals, then score them 0–100 for outreach priority.
This workflow monitors Meta Ads and Google Ads campaigns on a daily schedule to detect performance drops. It fetches yesterday’s campaign data, standardizes metrics, and calculates CTR and ROAS agains
This workflow is for sales teams, growth hackers, and lead generation agencies who want to build a targeted list of Shopify store owners -- complete with emails, phone numbers, and social profiles --