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 workflow receives new lead form submissions via webhook, uses Groq (OpenAI-compatible Chat Completions) to score and draft a reply, then sends the email via Gmail, logs the lead to Google Sheets
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 receives Bitrix24 deal updates via a webhook, fetches the deal and contact details, and uploads an offline Purchase conversion to the Google Ads Click Conversion API using the deal’s GCL