🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Gmail + HubSpot: qualify leads, faster follow ups

Lisa Granqvist Partner Workflow Automation Expert

You know the feeling: a new lead replies, it lands in Gmail, and then it just… sits there. Not because you don’t care. Because you’re switching tabs, scanning tone, deciding “is this real?” and trying to route it to the right person without losing the thread. That’s where Gmail HubSpot automation earns its keep.

This hits sales managers hardest when they’re juggling speed-to-lead. But marketing ops cleaning up attribution and agency owners managing multiple inboxes feel it too. The outcome is simple: leads get qualified automatically, follow-ups get assigned in HubSpot, and your team gets nudged in Slack without you babysitting the inbox.

Below, you’ll see exactly how this workflow triages labeled Gmail replies with AI, decides if follow-up is needed, and logs everything to Google Sheets so nothing disappears.

How This Automation Works

See how this solves the problem:

n8n Workflow Template: Gmail + HubSpot: qualify leads, faster follow ups

The Challenge: Lead replies get missed (or mishandled)

Lead replies look deceptively “quick” to handle. Open email, skim, decide if it’s hot, forward to someone, maybe add a note in HubSpot, maybe log it somewhere. But the reality is messy. Some replies are vague (“can you send info?”), some are urgent (“need pricing today”), and some are negative but salvageable if you respond well. When your team is busy, those nuances get flattened into “I’ll deal with it later,” and later becomes lost revenue and awkward follow-ups.

It adds up fast. Here’s where it breaks down in real inbox life:

  • Someone has to read every labeled reply just to figure out if it needs action, which is a terrible use of a sales rep’s best hours.
  • Follow-ups get created inconsistently, so HubSpot ends up half-truthful and your pipeline feels “off” during reviews.
  • Slack pings are either missing or noisy, which means the team stops trusting alerts altogether.
  • Google Sheets tracking becomes a retroactive chore, and the data is always a day behind when you need it most.

The Fix: Label Gmail replies, score them, and push the right next step

This workflow watches Gmail for new emails that match a specific label you choose (for example, “Lead Reply” or “Inbound Response”). When an email arrives, it grabs the basics (sender, subject, snippet, timestamp) and normalizes them into clean fields so downstream tools don’t choke on inconsistent formatting. Then the AI analysis kicks in. OpenAI reads the message and returns practical sales signals like sentiment, intent, urgency, a recommended next action (call, email, demo, quote, or no action), and a simple priority rating (hot, warm, cold). Those insights get parsed and merged back into the lead record, and the workflow decides if follow-up is actually needed.

If it is, you don’t have to remember anything. A HubSpot task is created with the context your rep needs, a Slack alert goes to the team with the summary and priority, and a row is appended to Google Sheets for clean tracking. If it’s not worth a follow-up, the workflow stops quietly, which keeps noise down.

What Changes: Before vs. After

Real-World Impact

Say you get 15 labeled lead replies a day. Manually, it’s usually about 4 minutes to read, decide, create a HubSpot task, ping Slack, and log a row somewhere, so you’re burning roughly an hour a day on pure admin. With this workflow, your “work” is basically applying the Gmail label (a few seconds), then waiting for the analysis and routing to finish. Even if you still skim the truly hot ones, you typically get about 45 minutes back daily, and the process becomes consistent.

Requirements

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Gmail to trigger on labeled lead replies.
  • HubSpot to create follow-up tasks in your CRM.
  • Slack to alert the sales channel instantly.
  • Google Sheets for a simple, searchable audit log.
  • OpenAI API key (get it from the OpenAI dashboard under API keys).

Skill level: Beginner. You’ll connect accounts, choose a Gmail label, and paste an API key.

Need help implementing this? Talk to an automation expert (free 15-minute consultation).

The Workflow Flow

A labeled Gmail reply arrives. The workflow triggers on a new email that matches the label you define, which keeps it focused on leads and not every random message in your inbox.

Fields get cleaned up. Sender email, subject, message snippet, source, and timestamp are mapped into consistent values so the AI and downstream systems receive structured data.

AI qualifies the reply. OpenAI analyzes the message for sentiment, intent, urgency, next action, a short summary, and a hot/warm/cold priority. That output is parsed and turned into simple flags like “needs follow-up” and “high priority.”

HubSpot, Slack, and Sheets get updated. If follow-up is needed, n8n creates a HubSpot task, posts a Slack alert with the key insights, and appends the full record to Google Sheets for tracking.

You can easily modify the Gmail label and the AI decision rules to match how your team actually qualifies leads. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Gmail Trigger

Start by configuring the email trigger so the workflow runs whenever a labeled lead email arrives.

  1. Add and open 📧 Gmail Lead Intake.
  2. Credential Required: Connect your gmailOAuth2 credentials.
  3. In Filters → Label IDs, set the label to YOUR_GMAIL_LABEL_ID.
  4. In Poll Times, keep the schedule set to everyMinute.

Tip: Ensure the Gmail label exists and is applied to incoming lead emails, or the trigger will not fire.

Step 2: Validate and Normalize Gmail Data

Validate the incoming payload and map it into consistent fields used downstream.

  1. Open 🔀 Validate Data Presence and confirm the condition checks ={{ $node['📧 Gmail Lead Intake'].json }} with the exists operator.
  2. Open 🔧 Map Gmail Fields and set the field mappings:
  3. Set leadEmail to ={{ $json.From }}, subject to ={{ $json.Subject }}, and message to ={{ $json.snippet }}.
  4. Set source to Gmail and receivedAt to ={{ $json.internalDate }}.

⚠️ Common Pitfall: If Gmail headers differ, update the expressions in 🔧 Map Gmail Fields to match your message fields.

Step 3: Set Up AI Analysis

Use the AI agent to analyze lead replies and produce structured insights.

  1. Open 🧠 Analyze Lead Reply and keep the Text prompt as configured, including the JSON output requirement.
  2. Confirm the prompt references {{ $json.leadEmail }}, {{ $json.subject }}, and {{ $json.message }}.
  3. Open OpenAI Chat Engine and set Model to gpt-4o-mini.
  4. Credential Required: Connect your openAiApi credentials in OpenAI Chat Engine.

Tip: OpenAI Chat Engine is connected as the language model for 🧠 Analyze Lead Reply—add credentials to OpenAI Chat Engine, not the agent node.

Step 4: Parse and Route Insights

Parse the AI response and decide whether follow-up actions are required.

  1. Open 📋 Parse AI Insights and keep the JavaScript code intact to parse JSON and add fields like analysisDate, needsFollowUp, and isHighPriority.
  2. Open 🔍 Follow-Up Needed? and confirm it checks ={{ $json.needsFollowUp }} with the true condition.

🔍 Follow-Up Needed? outputs to both 📝 HubSpot Task Builder and 💬 Slack Sales Alert and 📊 Sheet Log Entry in parallel.

Step 5: Configure Output Destinations

Create tasks, alert sales, and log analysis in a spreadsheet when follow-up is required.

  1. Open 📝 HubSpot Task Builder and confirm Type is task, Resource is engagement, and Authentication is appToken.
  2. Credential Required: Connect your hubspotAppToken credentials.
  3. Open 💬 Slack Sales Alert and set Text to =Summary: {{ $json.summary }} Email: {{ $json.leadEmail }} Priority: {{ $json.priority }} Urgency: {{ $json.urgency }} Date: {{ $json.analysisDate }}.
  4. Credential Required: Connect your slackApi credentials, and set Channel to YOUR_SLACK_CHANNEL_ID.
  5. Open 📊 Sheet Log Entry and set Operation to append, Document to YOUR_GOOGLE_SHEETS_ID, and Sheet to gid=0.
  6. Credential Required: Connect your googleSheetsOAuth2Api credentials.

⚠️ Common Pitfall: The column names in 📊 Sheet Log Entry must exactly match your Google Sheet headers, including spaces like Intent .

Step 6: Test and Activate Your Workflow

Verify the workflow end-to-end and then enable it for production use.

  1. Use 📧 Gmail Lead Intake to trigger a manual test by sending a labeled email to the monitored mailbox.
  2. Confirm 🧠 Analyze Lead Reply returns structured JSON and 📋 Parse AI Insights outputs fields like summary and needsFollowUp.
  3. When needsFollowUp is true, verify that 📝 HubSpot Task Builder, 💬 Slack Sales Alert, and 📊 Sheet Log Entry all run in parallel.
  4. Click the Activate toggle in n8n to turn on the workflow for live processing.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Watch Out For

  • Gmail permissions can be touchy in shared inbox setups. If triggers stop firing, check the connected Google account and label access in n8n Credentials first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • OpenAI prompts start generic on purpose, but generic outputs create busywork later. Add your qualification rules (what counts as “hot” for you) early, then let the workflow run.

Common Questions

How quickly can I implement this Gmail HubSpot automation?

About 30 minutes if your accounts are ready.

Can non-technical teams implement this lead qualification automation?

Yes. You’ll connect Gmail, HubSpot, Slack, and Google Sheets, then paste your OpenAI API key and pick the Gmail label to watch.

Is n8n free to use for this Gmail HubSpot automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs, which are usually just a few cents per day at small lead volumes.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

How do I adapt this Gmail HubSpot automation solution to my specific challenges?

You can adjust the Gmail label in the Gmail trigger, then tune the “Analyze Lead Reply” AI agent prompt to reflect your real qualification rules (industries you won’t take, minimum budget language, or what counts as urgent). If you want different routing, modify the “Follow-Up Needed?” decision to branch on priority or intent. Some teams also customize the Slack message to include an owner, a link to the HubSpot record, or a short suggested reply.

Why is my HubSpot connection failing in this workflow?

Usually it’s expired or revoked HubSpot credentials inside n8n. Reconnect the HubSpot account in n8n Credentials and confirm the user has permission to create tasks. If it still fails, check if your HubSpot portal has task creation restricted for that team, or if you’re hitting rate limits when lots of emails arrive at once.

What’s the capacity of this Gmail HubSpot automation solution?

It can handle hundreds of lead replies per day for most small teams.

Is this Gmail HubSpot automation better than using Zapier or Make?

Often, yes, because this workflow benefits from branching logic (stop early when no follow-up is needed) and from shaping AI output into structured fields before writing to HubSpot and Sheets. n8n also makes it easier to self-host, which matters if you have higher volume or want tighter control over data. Zapier and Make can still do parts of this, but you may end up paying more once you add AI steps and multi-app routing. The bigger issue is maintainability: keeping parsing, flags, and formatting consistent over time. Talk to an automation expert if you’re not sure which fits.

Once this is running, labeled lead replies stop being a daily fire drill and start behaving like a reliable system. The workflow handles the repetitive sorting and routing so your team can focus on the conversations that actually close.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal