AutomationFlowsCRM & Sales › Vendemais - Lead Enrichment V0 (mirror N8n)

Vendemais - Lead Enrichment V0 (mirror N8n)

VendeMais - Lead Enrichment v0 (mirror n8n). Uses httpRequest, openAi, airtable, hubspot. Webhook trigger; 5 nodes.

Webhook trigger★★★★☆ complexityAI-powered5 nodesHTTP RequestOpenAIAirtableHubSpot
CRM & Sales Trigger: Webhook Nodes: 5 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Airtable → 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 →

Download .json
{
  "name": "VendeMais - Lead Enrichment v0 (mirror n8n)",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "lead-enrich",
        "responseMode": "onReceived",
        "responseData": "allEntries",
        "options": {
          "rawBody": false
        }
      },
      "id": "11111111-aaaa-4aaa-aaaa-111111111111",
      "name": "Trigger Lead (HubSpot)",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        240,
        300
      ],
      "notes": "Espelha o HubSpot Watch Deals (dealstage=appointmentscheduled). No Make era poll de 15min, hoje OFF -> aqui voce dispara manual via curl (mesma realidade: roda na mao)."
    },
    {
      "parameters": {
        "requestMethod": "GET",
        "url": "https://www.googleapis.com/customsearch/v1",
        "responseFormat": "json",
        "options": {},
        "queryParametersUi": {
          "parameter": [
            {
              "name": "q",
              "value": "={{$json[\"body\"][\"company\"]}} headquarters employees revenue technology stack"
            },
            {
              "name": "cx",
              "value": "017576662512468239146:omuauf_lfve"
            },
            {
              "name": "key",
              "value": "COLOQUE_GOOGLE_CSE_KEY_AQUI"
            },
            {
              "name": "num",
              "value": "5"
            }
          ]
        }
      },
      "id": "22222222-bbbb-4bbb-bbbb-222222222222",
      "name": "Google Custom Search",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 1,
      "position": [
        480,
        300
      ],
      "notes": "Sem node nativo confiavel -> HTTP Request. Free tier 100 queries/dia. Snippets NAO sao truncados (divida de custo)."
    },
    {
      "parameters": {
        "resource": "chat",
        "operation": "create",
        "model": "gpt-5.4-mini",
        "apiKey": "sk-EXEMPLO-PESSOAL-JOANA-NAO-USAR-EM-PROD-9z8y7x6w5v4u3t2s1r0q",
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "Voc\u00ea \u00e9 um analista de intelig\u00eancia de vendas B2B. Sempre responde em JSON v\u00e1lido, sem texto antes ou depois."
            },
            {
              "role": "user",
              "content": "=Voc\u00ea \u00e9 um analista de intelig\u00eancia de vendas. Recebeu o nome da empresa: {{$node[\"Trigger Lead (HubSpot)\"].json[\"body\"][\"company\"]}} e os resultados de busca: {{JSON.stringify($json[\"items\"])}}. Retorne em JSON:\n{\n  \"industry\": \"...\",\n  \"size_employees\": \"...\",\n  \"tech_stack\": [...],\n  \"buying_signals\": [...],\n  \"icp_match_score\": 0-100,\n  \"talking_points\": [...]\n}"
            }
          ]
        },
        "options": {
          "temperature": 0.3,
          "maxTokens": 1500,
          "timeout": 30000
        }
      },
      "id": "33333333-cccc-4ccc-cccc-333333333333",
      "name": "OpenAI Analisar Lead",
      "type": "n8n-nodes-base.openAi",
      "typeVersion": 1,
      "position": [
        720,
        300
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "notes": "Sem JSON Parse com tratamento de erro: se a OpenAI devolve JSON quebrado, o fluxo morre silencioso. Alternativa Anthropic: trocar por HTTP Request -> api.anthropic.com/v1/messages."
    },
    {
      "parameters": {
        "operation": "append",
        "application": "appXXXXXXXXXX",
        "table": "Lead Enrichment",
        "options": {},
        "addAllFields": false,
        "fields": [
          "deal_id",
          "company_name",
          "industry",
          "size_employees",
          "tech_stack",
          "buying_signals",
          "icp_match_score",
          "talking_points",
          "enriched_at",
          "raw_search_results"
        ]
      },
      "id": "44444444-dddd-4ddd-dddd-444444444444",
      "name": "Airtable Criar Registro",
      "type": "n8n-nodes-base.airtable",
      "typeVersion": 1,
      "position": [
        960,
        300
      ],
      "credentials": {
        "airtableApi": {
          "name": "<your credential>"
        }
      },
      "notes": "Sem dedup por deal_id -> linhas duplicadas. tech_stack como Multiple select explode opcoes. Sem campo cost_usd."
    },
    {
      "parameters": {
        "resource": "deal",
        "operation": "update",
        "dealId": "={{$node[\"Trigger Lead (HubSpot)\"].json[\"body\"][\"deal_id\"]}}",
        "updateFields": {
          "icp_match_score": "={{$node[\"OpenAI Analisar Lead\"].json[\"message\"][\"content\"][\"icp_match_score\"]}}",
          "enrichment_industry": "={{$node[\"OpenAI Analisar Lead\"].json[\"message\"][\"content\"][\"industry\"]}}",
          "enrichment_last_run": "={{$now}}",
          "enrichment_status": "enriched"
        }
      },
      "id": "55555555-eeee-4eee-eeee-555555555555",
      "name": "HubSpot Atualizar Deal",
      "type": "n8n-nodes-base.hubspot",
      "typeVersion": 1,
      "position": [
        1200,
        300
      ],
      "credentials": {
        "hubspotApi": {
          "name": "<your credential>"
        }
      },
      "notes": "Sem branch de falha: se OpenAI quebra, enrichment_status fica eterno em 'pending', nunca vira 'failed'."
    }
  ],
  "connections": {
    "Trigger Lead (HubSpot)": {
      "main": [
        [
          {
            "node": "Google Custom Search",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Custom Search": {
      "main": [
        [
          {
            "node": "OpenAI Analisar Lead",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Analisar Lead": {
      "main": [
        [
          {
            "node": "Airtable Criar Registro",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Airtable Criar Registro": {
      "main": [
        [
          {
            "node": "HubSpot Atualizar Deal",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1",
    "saveExecutionProgress": true,
    "saveManualExecutions": true
  },
  "versionId": "v0.0.1-mirror",
  "id": "vendemais-lead-enrich",
  "meta": {
    "templateCredsSetupCompleted": false,
    "owner": "joana@vendemais.com",
    "notes": "Mirror n8n do cenario Make. Mesmos 5 passos. Webhook substitui o trigger HubSpot p/ ser testavel via curl sem credenciais. active=false (scheduler OFF herdado)."
  },
  "tags": [
    {
      "name": "mirror",
      "id": "1"
    },
    {
      "name": "revops",
      "id": "2"
    }
  ]
}

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

VendeMais - Lead Enrichment v0 (mirror n8n). Uses httpRequest, openAi, airtable, hubspot. Webhook trigger; 5 nodes.

Source: https://github.com/wmonteiro-ai/ai-factory-vendemais/blob/3a7468ab326028a69dd86db7850c023640c01f2a/n8n-mirror/workflows/vendemais-enrich-v0.json — original creator credit. Request a take-down →

More CRM & Sales workflows → · Browse all categories →

Related workflows

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

CRM & Sales

This is ideal for agencies, freelancers, SaaS founders, and small sales teams who want every lead recorded and followed up automatically within seconds. The workflow supports two storage options: HubS

HTTP Request, Google Sheets, Slack +1
CRM & Sales

This workflow receives inbound leads via webhook, uses Anthropic Claude (with website scraping and web search) to score and classify them, then updates HubSpot lifecycle stage, creates deals for hot l

HTTP Request, HubSpot, Slack +1
CRM & Sales

Real-Time Lead Processing - Captures and processes leads instantly from website forms with zero delay Intelligent Fit Scoring - Automatically scores leads 0-100 based on company size, seniority, and r

Clearbit, HubSpot, HTTP Request +3
CRM & Sales

This workflow receives inbound leads via webhook, validates and normalizes the data, scores and routes the lead to a sales rep, checks for duplicates and upserts the contact in HubSpot, drafts an outr

HubSpot, Slack, Gmail +2
CRM & Sales

A webhook receives a form submission with an email address The email is validated, then Lusha enriches the contact If phone or email is missing, a fallback provider fills the gaps via HTTP request Dat

@Lusha Org/N8N Nodes Lusha, HTTP Request, HubSpot +1