Typeform to HubSpot: AI-enriched & scored leads with GPT-4o-mini
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
What this workflow does
This AI workflow has 12 nodes and runs on Typeform events. Along the way it connects OpenAI Chat Model, Typeform, Airtable and HubSpot and 1 more.
How it runs
Trigger: On Typeform events.
- 📄 Log Raw Lead (Google Sheets): append or update
- 📦 Store Basic Info (Airtable) (Airtable): create or update
- 🔧 Format Incoming Data (Code): runs custom JavaScript code
- 📛 Filter Non-Business Emails (If): checks a condition and branches into true / false
- 🏢 Enrich Company Info (AI) (AI Agent): runs an AI agent, with model: 💬 LLM (OpenAI)
- 🪄 Merge Enriched Lead Profile (Code): runs custom JavaScript code
- 🎯 AI Lead Scorer (AI Agent): runs an AI agent, with model: OpenAI Chat Model
- 📨 Send to HubSpot CRM (HubSpot): uses HubSpot
- 📊 Save Enriched Lead (Google Sheets): append or update
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (8)
- OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Typeform Trigger
n8n-nodes-base.typeformTrigger - Code
n8n-nodes-base.code - Airtable
n8n-nodes-base.airtable - If
n8n-nodes-base.if - AI Agent
@n8n/n8n-nodes-langchain.agent - HubSpot
n8n-nodes-base.hubspot - Google Sheets
n8n-nodes-base.googleSheets
From the author
How it works This workflow starts whenever a new lead is submitted through Typeform. It cleans and stores the raw lead data, checks if the email is business-related (not Gmail), and then uses AI to enrich the lead with company details. After enrichment, the…