AutomationFlowsAI & RAG › Qualify & Route Leads with Gpt-4o, Clearbit, Hubspot CRM & Slack Alerts

Qualify & Route Leads with Gpt-4o, Clearbit, Hubspot CRM & Slack Alerts

ByGreypillar @greypillar on n8n.io

Webhook receives lead form submissions from your website • AI Agent (GPT-4o) analyzes lead quality using intelligent scoring framework • Clearbit enriches company data automatically (employee count, industry, revenue) • Qualification score (0-100) determines routing:…

Webhook trigger★★★★☆ complexityAI-powered18 nodesAgentExecute Workflow TriggerHTTP RequestAirtableSlackHubSpotOpenAI ChatTool Workflow
AI & RAG Trigger: Webhook Nodes: 18 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #9162 — we link there as the canonical source.

This workflow follows the Agent → Airtable 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
{
  "nodes": [
    {
      "id": "b0cc5f9e-3066-4d8b-b5a5-80ad8b249d08",
      "name": "Form Submission5",
      "type": "n8n-nodes-base.webhook",
      "position": [
        2192,
        5472
      ],
      "parameters": {
        "path": "lead-intake",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "lastNode"
      },
      "typeVersion": 2
    },
    {
      "id": "3e0bf932-2b5e-44a5-ba9e-2c3a716eb672",
      "name": "AI Lead Analysis Agent5",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2416,
        5472
      ],
      "parameters": {
        "text": "=Analyze this lead submission and provide a JSON response with the following structure:\n\n{\n  \"qualification_score\": [0-100 integer],\n  \"buying_intent\": \"high\" | \"medium\" | \"low\",\n  \"urgency_level\": \"immediate\" | \"this_week\" | \"this_month\" | \"exploratory\",\n  \"budget_indicator\": \"enterprise\" | \"mid-market\" | \"small_business\" | \"unknown\",\n  \"pain_points\": [\"list of identified pain points\"],\n  \"recommended_action\": \"immediate_call\" | \"schedule_demo\" | \"nurture_sequence\" | \"disqualify\",\n  \"summary\": \"2-3 sentence summary for sales team\"\n}\n\nLead Information:\nName: {{ $json.body.name }}\nEmail: {{ $json.body.email }}\nCompany: {{ $json.body.company }}\nMessage: {{ $json.body.message }}\nPhone: {{ $json.body.phone || 'Not provided' }}\nWebsite: {{ $json.body.website || 'Not provided' }}\n\n**IMPORTANT INSTRUCTIONS:**\n1. If website or email domain is available, USE the clearbit_enrichment tool to get company data\n2. Company size and revenue data are CRITICAL for accurate scoring\n3. Extract the domain from website URL or email address\n4. Call tool format: {\"domain\": \"company.com\"}\n5. Use enrichment data in your qualification scoring",
        "options": {
          "systemMessage": "You are an expert B2B lead qualification analyst with access to company enrichment tools.\n\nANALYSIS FRAMEWORK:\n1. ALWAYS use the clearbit_enrichment tool when you have a company domain\n2. Score leads based on weighted criteria:\n   - Company size (30%): Enterprise (500+) = high score, SMB (<50) = medium/low\n   - Buying signals (25%): Budget mentions, timeline, decision authority\n   - Urgency (20%): Immediate needs score higher than exploratory\n   - Budget fit (15%): Enterprise budget indicators vs small business\n   - Pain severity (10%): Critical business problems vs nice-to-haves\n\n3. Scoring guidelines:\n   - 90-100: Enterprise company + immediate urgency + clear budget + severe pain\n   - 80-89: Large company (500+) OR immediate urgency with clear need\n   - 70-79: Mid-market (50-500) with good intent OR enterprise with low urgency\n   - 60-69: Small business with strong signals OR larger company vague inquiry\n   - Below 60: Unqualified, unclear needs, no budget indicators\n\n4. Action recommendations:\n   - immediate_call: Score 85+, clear urgency\n   - schedule_demo: Score 70-84, good fit but less urgent\n   - nurture_sequence: Score 50-69, potential but not ready\n   - disqualify: Score <50, poor fit\n\nProvide objective, data-driven recommendations. Sales teams need clear, actionable guidance."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.7
    },
    {
      "id": "e8a07af0-8c70-4ba2-bfb5-1e280aaa4a2a",
      "name": "High Quality Lead?5",
      "type": "n8n-nodes-base.if",
      "position": [
        3200,
        5472
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "qual-score-check",
              "operator": {
                "type": "number",
                "operation": "gte"
              },
              "leftValue": "={{ $json.qualification_score }}",
              "rightValue": 70
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "1d242346-2105-4bf2-890e-4ccb14d13283",
      "name": "When called by another workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        656,
        5584
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "30c2a7e3-5a34-477e-a7c4-cfbc3a0b4446",
      "name": "Clearbit API",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        880,
        5584
      ],
      "parameters": {
        "url": "=https://company.clearbit.com/v2/companies/find?domain={{ $json.domain }}",
        "options": {
          "response": {
            "response": {
              "neverError": true
            }
          }
        },
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "9853452d-465b-4ff2-97e9-c1e1275b3410",
      "name": "Company Found?",
      "type": "n8n-nodes-base.if",
      "position": [
        1104,
        5584
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "success-check",
              "operator": {
                "type": "string",
                "operation": "notEmpty"
              },
              "leftValue": "={{ $json.name }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "f0befc3a-24f8-4042-bac7-53b2eb2df52f",
      "name": "Format Data",
      "type": "n8n-nodes-base.code",
      "position": [
        1312,
        5488
      ],
      "parameters": {
        "jsCode": "const c = $input.first().json;\n\nreturn {\n  json: {\n    success: true,\n    company_name: c.name,\n    domain: c.domain,\n    employees: c.metrics?.employees || 0,\n    employee_range: c.metrics?.employeesRange || 'Unknown',\n    industry: c.category?.industry || 'Unknown',\n    sector: c.category?.sector,\n    description: c.description,\n    location: [c.geo?.city, c.geo?.stateCode, c.geo?.country].filter(Boolean).join(', '),\n    founded: c.foundedYear,\n    annual_revenue: c.metrics?.annualRevenue,\n    funding: c.metrics?.raised,\n    tech: (c.tech || []).slice(0, 10).join(', '),\n    summary: `${c.name} - ${c.category?.industry || 'company'}, ${c.metrics?.employeesRange || 'unknown size'}, ${c.geo?.city || 'location unknown'}`\n  }\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "25fb30f0-00d0-4efe-ac31-0a2e00b87278",
      "name": "No Data",
      "type": "n8n-nodes-base.code",
      "position": [
        1312,
        5696
      ],
      "parameters": {
        "jsCode": "return {\n  json: {\n    success: false,\n    domain: $('When called by another workflow').first().json.domain,\n    error: 'Company not found',\n    summary: 'No data available'\n  }\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "03a31c3b-426f-4c30-afab-bf958b6778c0",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2576,
        6192
      ],
      "parameters": {
        "width": 1008,
        "height": 944,
        "content": "## \ud83c\udfaf AI Lead Qualifier + CRM Intelligence\n\n### \ud83d\udccb Setup Instructions\n\n**Step 1: Import Sub-Workflow**\n1. Create a NEW workflow in n8n\n2. Import `clearbit-enrichment-tool.json` (separate file)\n3. Activate it and copy its Workflow ID\n4. Paste ID into \"Clearbit Enrichment Tool\" node below\n\n**Step 2: Configure Integrations**\n\ud83d\udd39 **Slack Channels** (2 required)\n   \u2022 Sales channel: Right-click \u2192 View details \u2192 Copy Channel ID\n   \u2022 Review channel: Same process for second channel\n   \u2022 Replace `REPLACE_WITH_SLACK_SALES_CHANNEL_ID`\n   \u2022 Replace `REPLACE_WITH_SLACK_REVIEW_CHANNEL_ID`\n\n\ud83d\udd39 **Airtable Setup**\n   \u2022 Base ID: Copy from URL \u2192 `appXXXXXXXXXXXXXX`\n   \u2022 Table ID: Copy from URL \u2192 `tblYYYYYYYYYYYY`\n   \u2022 Create these columns: Name, Email, Company, Phone, Website, Qualification_Score, Buying_Intent, Urgency, Budget, AI_Summary, Pain_Points, Recommended_Action, Status, Submitted_Date\n\n\ud83d\udd39 **HubSpot Custom Properties**\n   \u2022 Settings \u2192 Properties \u2192 Contact Properties \u2192 Create:\n   \u2022 qualification_score (Number)\n   \u2022 buying_intent (Dropdown: high, medium, low)\n   \u2022 urgency_level (Dropdown: immediate, this_week, this_month, exploratory)\n   \u2022 budget_indicator (Dropdown: enterprise, mid-market, small_business, unknown)\n   \u2022 ai_summary (Multi-line text)\n   \u2022 pain_points (Multi-line text)\n   \u2022 recommended_action (Dropdown: immediate_call, schedule_demo, nurture_sequence, disqualify)\n\n**Step 3: Add Credentials**\n\u2713 OpenAI (GPT-4o)\n\u2713 Clearbit API (see sub-workflow setup)\n\u2713 HubSpot OAuth2\n\u2713 Slack OAuth2\n\u2713 Airtable Token\n\n---\n\n### \u2699\ufe0f How It Works\n**Webhook** \u2192 **AI Analysis** \u2192 **Quality Check** \u2192 **Route**\n\u2022 Score \u226570: HubSpot + Sales Alert\n\u2022 Score <70: Airtable Log + Manual Review"
      },
      "typeVersion": 1
    },
    {
      "id": "1bb8ccb4-f383-4af5-b29f-4ef79c52c415",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        544,
        6176
      ],
      "parameters": {
        "width": 960,
        "height": 944,
        "content": "## \ud83c\udfe2 Clearbit Company Enrichment Tool\n\n### \u26a0\ufe0f Important: This is a Sub-Workflow\n\n**Purpose:** Called by the main AI Lead Qualifier workflow to fetch company data.\n\n---\n\n### \ud83d\udd27 Setup Steps\n\n**1. Get Clearbit API Key**\n\u2022 Sign up at [clearbit.com](https://clearbit.com)\n\u2022 Dashboard \u2192 API \u2192 Copy your API key\n\u2022 Note: Free tier available for testing\n\n**2. Create n8n Credential**\n\u2022 Type: **HTTP Header Auth**\n\u2022 Header Name: `Authorization`\n\u2022 Header Value: `Bearer YOUR_TOKEN_HERE`\n\u2022 Save as \"Clearbit API\"\n\n**3. Activate This Workflow**\n\u2022 Click \"Active\" toggle (top right)\n\u2022 Copy the Workflow ID from URL or settings\n\u2022 Paste into main workflow's \"Clearbit Enrichment Tool\" node\n\n---\n\n### \ud83d\udcca What It Returns\nCompany name, size, industry, revenue, location, tech stack, and business summary for AI qualification scoring."
      },
      "typeVersion": 1
    },
    {
      "id": "b000c32e-e629-4b96-807a-dd4566bd2475",
      "name": "Log to Airtable",
      "type": "n8n-nodes-base.airtable",
      "position": [
        3424,
        5568
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "id",
          "value": "REPLACE_WITH_AIRTABLE_BASE_ID"
        },
        "table": {
          "__rl": true,
          "mode": "id",
          "value": "REPLACE_WITH_AIRTABLE_TABLE_ID"
        },
        "columns": {
          "value": {
            "Name": "={{ $json.name }}",
            "Email": "={{ $json.email }}",
            "Phone": "={{ $json.phone }}",
            "Budget": "={{ $json.budget_indicator }}",
            "Status": "Needs Review",
            "Company": "={{ $json.company }}",
            "Urgency": "={{ $json.urgency_level }}",
            "Website": "={{ $json.website }}",
            "AI_Summary": "={{ $json.ai_summary }}",
            "Pain_Points": "={{ $json.pain_points.join(', ') }}",
            "Buying_Intent": "={{ $json.buying_intent }}",
            "Submitted_Date": "={{ $json.submission_date }}",
            "Recommended_Action": "={{ $json.recommended_action }}",
            "Qualification_Score": "={{ $json.qualification_score }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {},
        "operation": "create"
      },
      "typeVersion": 2
    },
    {
      "id": "593649f8-282c-4a38-ac35-02b5e97b443d",
      "name": "Request Manual Review",
      "type": "n8n-nodes-base.slack",
      "position": [
        3648,
        5568
      ],
      "parameters": {
        "text": "=\ud83d\udccb *Lead Review Required - Score: {{ $json.qualification_score }}/100*\n\nThis lead scored below the qualification threshold (70) and needs manual review.\n\n*Lead Details:*\n\u2022 Name: {{ $json.name }}\n\u2022 Company: {{ $json.company }}\n\u2022 Email: {{ $json.email }}\n\u2022 Phone: {{ $json.phone || 'Not provided' }}\n\n*Qualification Analysis:*\n\u2022 Score: {{ $json.qualification_score }}/100\n\u2022 Buying Intent: {{ $json.buying_intent }}\n\u2022 Urgency: {{ $json.urgency_level }}\n\u2022 Budget: {{ $json.budget_indicator }}\n\n*AI Summary:*\n{{ $json.ai_summary }}\n\n*Original Message:*\n{{ $json.message }}\n\n---\nReply with your decision:\n\u2705 Pursue this lead\n\u274c Disqualify\n\ud83d\udcac Request more information",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "REPLACE_WITH_SLACK_REVIEW_CHANNEL_ID"
        },
        "otherOptions": {
          "includeLinkToWorkflow": false
        },
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "46b30b45-1610-48b3-93d2-bf32c4b09134",
      "name": "Notify Sales Team",
      "type": "n8n-nodes-base.slack",
      "position": [
        3648,
        5376
      ],
      "parameters": {
        "text": "=\ud83d\udea8 *HOT LEAD ALERT - Score: {{ $json.qualification_score }}/100*\n\n*Lead Information:*\n\u2022 Name: {{ $json.name }}\n\u2022 Company: {{ $json.company }}\n\u2022 Email: {{ $json.email }}\n\u2022 Phone: {{ $json.phone || 'Not provided' }}\n\u2022 Website: {{ $json.website || 'Not provided' }}\n\n*AI Qualification Analysis:*\n\u2022 Qualification Score: *{{ $json.qualification_score }}/100*\n\u2022 Buying Intent: {{ $json.buying_intent.toUpperCase() }}\n\u2022 Urgency Level: {{ $json.urgency_level.replace('_', ' ').toUpperCase() }}\n\u2022 Budget Indicator: {{ $json.budget_indicator.replace('_', ' ').toUpperCase() }}\n\n*Pain Points Identified:*\n{{ $json.pain_points.map(p => '\u2022 ' + p).join('\\n') }}\n\n*AI Summary:*\n{{ $json.ai_summary }}\n\n*Recommended Action:* {{ $json.recommended_action.replace('_', ' ').toUpperCase() }}\n\n*Submitted:* {{ new Date($json.submission_date).toLocaleString() }}\n\n---\n_Qualified by AI Agent | Powered by GPT-4o_",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "REPLACE_WITH_SLACK_SALES_CHANNEL_ID"
        },
        "otherOptions": {
          "includeLinkToWorkflow": false
        },
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "aa50b6a2-0240-45b2-b429-f17745e753fd",
      "name": "Add to HubSpot CRM",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        3424,
        5376
      ],
      "parameters": {
        "email": "={{ $json.email }}",
        "options": {},
        "additionalFields": {
          "customPropertiesUi": {
            "customPropertiesValues": [
              {
                "value": "={{ $json.qualification_score }}",
                "property": "qualification_score"
              },
              {
                "value": "={{ $json.buying_intent }}",
                "property": "buying_intent"
              },
              {
                "value": "={{ $json.urgency_level }}",
                "property": "urgency_level"
              },
              {
                "value": "={{ $json.budget_indicator }}",
                "property": "budget_indicator"
              },
              {
                "value": "={{ $json.ai_summary }}",
                "property": "ai_summary"
              },
              {
                "value": "={{ $json.pain_points.join(', ') }}",
                "property": "pain_points"
              },
              {
                "value": "={{ $json.recommended_action }}",
                "property": "recommended_action"
              }
            ]
          }
        }
      },
      "typeVersion": 2
    },
    {
      "id": "5da79ef6-b456-4a0f-a1d4-830d40eca62c",
      "name": "Structure Lead Data",
      "type": "n8n-nodes-base.code",
      "position": [
        2976,
        5472
      ],
      "parameters": {
        "jsCode": "// Parse AI Agent output and structure data for downstream nodes\nconst aiResponse = JSON.parse($input.first().json.output);\nconst leadData = $('Form Submission5').first().json.body;\n\nreturn {\n  json: {\n    // Original lead information\n    name: leadData.name,\n    email: leadData.email,\n    company: leadData.company,\n    phone: leadData.phone || '',\n    website: leadData.website || '',\n    message: leadData.message || '',\n    \n    // AI qualification results\n    qualification_score: aiResponse.qualification_score,\n    buying_intent: aiResponse.buying_intent,\n    urgency_level: aiResponse.urgency_level,\n    budget_indicator: aiResponse.budget_indicator,\n    pain_points: aiResponse.pain_points,\n    recommended_action: aiResponse.recommended_action,\n    ai_summary: aiResponse.summary,\n    \n    // Metadata\n    submission_date: new Date().toISOString(),\n    source: 'website_form',\n    workflow_version: '2025-pro',\n    \n    // Extract domain for potential enrichment\n    domain: leadData.website \n      ? new URL(leadData.website).hostname.replace('www.', '')\n      : leadData.email.split('@')[1]\n  }\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "1a41a3f7-359e-4b13-8deb-2ad9000b901f",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2544,
        5904
      ],
      "parameters": {
        "model": "gpt-4o",
        "options": {
          "maxTokens": 1000,
          "temperature": 0.3,
          "responseFormat": "json_object"
        }
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6d783ecf-ee31-4f13-8d2a-e605660c06c1",
      "name": "Clearbit Enrichment Tool",
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [
        2480,
        5696
      ],
      "parameters": {
        "name": "clearbit_enrichment",
        "workflowId": {
          "__rl": true,
          "mode": "id",
          "value": "REPLACE_WITH_CLEARBIT_WORKFLOW_ID",
          "cachedResultName": "Clearbit Company Enrichment Tool"
        },
        "description": "Enriches company data using Clearbit Company API. Call this tool whenever you have a company domain (extracted from website URL or email address). Input format: {\"domain\": \"stripe.com\"}. Returns: company name, employee count, employee range, industry, sector, annual revenue, funding raised, tech stack, location, and business description. This data is ESSENTIAL for accurate lead qualification scoring - company size alone accounts for 30% of the qualification score.",
        "specifyInputSchema": true
      },
      "typeVersion": 1.1
    },
    {
      "id": "b8662b37-43ca-4c8a-9208-570f49be018e",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2608,
        5696
      ],
      "parameters": {
        "autoFix": true,
        "schemaType": "manual",
        "inputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"qualification_score\": {\n      \"type\": \"number\",\n      \"description\": \"Lead qualification score from 0-100\"\n    },\n    \"buying_intent\": {\n      \"type\": \"string\",\n      \"enum\": [\"high\", \"medium\", \"low\"],\n      \"description\": \"Assessed buying intent level\"\n    },\n    \"urgency_level\": {\n      \"type\": \"string\",\n      \"enum\": [\"immediate\", \"this_week\", \"this_month\", \"exploratory\"],\n      \"description\": \"Timeline urgency\"\n    },\n    \"budget_indicator\": {\n      \"type\": \"string\",\n      \"enum\": [\"enterprise\", \"mid-market\", \"small_business\", \"unknown\"],\n      \"description\": \"Budget tier indicator\"\n    },\n    \"pain_points\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"description\": \"List of identified pain points\"\n    },\n    \"recommended_action\": {\n      \"type\": \"string\",\n      \"enum\": [\"immediate_call\", \"schedule_demo\", \"nurture_sequence\", \"disqualify\"],\n      \"description\": \"Recommended next action\"\n    },\n    \"summary\": {\n      \"type\": \"string\",\n      \"description\": \"2-3 sentence summary for sales team\"\n    }\n  },\n  \"required\": [\"qualification_score\", \"buying_intent\", \"urgency_level\", \"budget_indicator\", \"pain_points\", \"recommended_action\", \"summary\"]\n}"
      },
      "typeVersion": 1.3
    }
  ],
  "connections": {
    "Clearbit API": {
      "main": [
        [
          {
            "node": "Company Found?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Company Found?": {
      "main": [
        [
          {
            "node": "Format Data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log to Airtable": {
      "main": [
        [
          {
            "node": "Request Manual Review",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Form Submission5": {
      "main": [
        [
          {
            "node": "AI Lead Analysis Agent5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Lead Analysis Agent5",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Structured Output Parser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Add to HubSpot CRM": {
      "main": [
        [
          {
            "node": "Notify Sales Team",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "High Quality Lead?5": {
      "main": [
        [
          {
            "node": "Add to HubSpot CRM",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Log to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structure Lead Data": {
      "main": [
        [
          {
            "node": "High Quality Lead?5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Lead Analysis Agent5": {
      "main": [
        [
          {
            "node": "Structure Lead Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clearbit Enrichment Tool": {
      "ai_tool": [
        [
          {
            "node": "AI Lead Analysis Agent5",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI Lead Analysis Agent5",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "When called by another workflow": {
      "main": [
        [
          {
            "node": "Clearbit API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

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

About this workflow

• Webhook receives lead form submissions from your website • AI Agent (GPT-4o) analyzes lead quality using intelligent scoring framework • Clearbit enriches company data automatically (employee count, industry, revenue) • Qualification score (0-100) determines routing:…

Source: https://n8n.io/workflows/9162/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

🧠 Gwen – The AI Voice Marketing Agent Gwen is your intelligent voice-powered marketing assistant built in n8n. She combines the power of OpenAI, ElevenLabs, and automation workflows to handle content

Tool Workflow, Memory Buffer Window, Agent +10
AI & RAG

🔍🛠️Perplexity Researcher to HTML Web Page. Uses stickyNote, lmChatOpenAi, outputParserStructured, respondToWebhook. Webhook trigger; 47 nodes.

OpenAI Chat, Output Parser Structured, Telegram +5
AI & RAG

Transform simple queries into comprehensive, well-structured content with this n8n workflow that leverages Perplexity AI for research and GPT-4 for content transformation. Create professional blog pos

OpenAI Chat, Output Parser Structured, Telegram +5
AI & RAG

Hubspot Splitout. Uses stickyNote, agent, googleCalendarTool, executeWorkflowTrigger. Webhook trigger; 31 nodes.

Agent, Google Calendar Tool, Execute Workflow Trigger +7
AI & RAG

This n8n workflow streamlines the onboarding process for new customers by automating personalized email communication, calendar scheduling, and contact assignment in HubSpot. It is perfect for busines

Agent, Google Calendar Tool, Execute Workflow Trigger +7