Automate Lead Management with n8n: Google Sheets to HubSpot and Alerts

This workflow automates tracking new sales leads submitted via Google Forms by syncing them to HubSpot CRM, sending alerts via Slack and Gmail, and reminding follow-ups based on interest levels. Save hours of manual data entry and never miss a hot lead again with precise automated notifications.
googleSheetsTrigger
slack
gmail
+5
Learn how to Build this Workflow with AI:
Workflow Identifier: 1274
NODES in Use: Google Sheets Trigger, Slack, Gmail, HubSpot, If, Wait, No Operation, Sticky Note

Press CTRL+F5 if the workflow didn't load.

Visit through Desktop for Best experience

Opening Problem Statement

Meet Sarah, a sales manager at a mid-sized software firm. Every day, her team collects numerous leads through Google Forms, which are then logged manually into multiple systems—Google Sheets for tracking and HubSpot for CRM management. This tedious process wastes her team over two hours daily and leads to frequent missed follow-ups on hot leads due to the lack of timely alerts.

Sarah often finds herself scrambling to locate lead data, sending redundant emails, or worse, losing potential sales because the follow-ups were delayed or forgotten. This manual juggling between Sheets, email, Slack, and CRM creates inefficiencies that derail her team’s productivity and negatively impact revenue.

What This Automation Does

This n8n workflow is a powerful solution designed exactly for situations like Sarah’s. It automates the lead tracking process from Google Sheets triggered by new form submissions, pushing the data into HubSpot CRM and notifying the sales team instantly through Slack and Gmail. Here’s what it accomplishes:

  • Detects new lead entries added to a Google Sheet every minute via the Google Sheets Trigger node.
  • Sends formatted lead notifications to a specified Slack channel, ensuring the team receives real-time alerts.
  • Emails detailed lead summaries to a designated inbox through the Gmail node for easy follow-up and record keeping.
  • Enters the lead’s contact information and details directly into HubSpot CRM, eliminating double data entry.
  • Monitors if leads with a ‘Hot’ interest level have been followed up on, using a conditional If node and a ‘Followed Up?’ column in the sheet.
  • Automatically sends a Gmail reminder after a 3-minute wait if the ‘Followed Up?’ status is empty, prompting timely action.

With this, Sarah’s team can save several hours a day, reduce human errors, and never miss the opportunity to engage a promising lead promptly.

Prerequisites ⚙️

  • A Google account with a Google Sheet connected to a Google Form where leads are submitted.
  • A configured HubSpot account for CRM integration and OAuth2 credentials for authentication.
  • A Slack workspace with an accessible channel and OAuth2 authorization for sending messages.
  • A Gmail account authorized for sending emails featuring lead notifications and reminders.
  • An active n8n account where this workflow can be imported, customized, and run.

Optionally, you can self-host n8n for full control and better scaling, such as through Hostinger hosting services.

Step-by-Step Guide to Create This Workflow

1. Set Up Google Sheets Trigger to Detect New Leads

Start in n8n by adding the Google Sheets Trigger node. Navigate to the node panel, click ‘Add Node’ → select ‘Google Sheets Trigger’ from the list. Configure it to watch your specific Google Sheet linked to the form responses.

Enter the Document ID from your Google Sheet URL, and select the exact sheet tab (such as “Form Responses 1”). Set the polling interval to “Every Minute” to check for new rows frequently.

You should see that n8n is connected and polling without errors after saving the node. If OAuth credentials are incorrect, you’ll get an authentication error here. Fix this by reauthorizing in the credentials section.

2. Send Real-Time Lead Alerts in Slack

Add the Slack node and connect it from the Google Sheets Trigger’s main output. In Slack node settings, select your channel from the dropdown or enter the channel ID manually.

Use the provided template message in the node parameters, for example:

=🎯 *New Lead Alert!*

*Name:* {{ $json['Name Surname'] }}
*Email:* {{ $json['E-Mail'] }}
*Phone:* {{ $json["Phone"] }}
*Interest Level:* {{ $json['  Interest Level  '] }}
*Source:* {{ $json['  Lead Source  '] }}

📝 Notes:
{{ $json['Notes '] }}

This message picks dynamic content from the Google Sheets row and formats it neatly.

Upon execution, check your Slack channel to confirm the lead alert appears as expected.

3. Email Detailed Lead Notification Using Gmail

Attach the Gmail node to the same Google Sheets Trigger output. Configure it with your recipient’s email address.

Use the HTML message template from the workflow to format lead details:

=

New Lead Received!

  • Name: {{ $json['Name Surname'] }}
  • Email: {{ $json['E-Mail'] }}
  • Phone: {{ $json["Phone"] }}
  • Interest Level: {{ $json[' Interest Level '] }}
  • Source: {{ $json[' Lead Source '] }}

Notes: {{ $json['Notes '] }}

The subject line uses dynamic input as well, e.g., “📩 New Lead Received: {{ $json[‘Name Surname’] }}”.
After activation, test by submitting a new lead and confirm the email lands in the inbox.

4. Add Leads to HubSpot CRM Automatically

Add the HubSpot node to the flow after your Google Sheets Trigger node. Map the lead’s email, phone number, interest level, and notes fields from the sheet to HubSpot’s fields in the node parameters under “Additional Fields”.

This node authenticates via OAuth2, so ensure your HubSpot credentials are set correctly.

After firing the workflow with a new lead, check your HubSpot contacts list to verify the lead appears with correct details.

5. Implement Conditional Check for Follow-Up Status

Add an If node connected downstream from a Wait node that delays processing by 3 minutes.

In the If node settings, configure two conditions:

  • Check if the “Followed Up?” column in the sheet is empty (using the ‘exists’ operation).
  • Check if the “Interest Level” field contains the word “Hot”.

Only when both conditions are met (unfollowed hot leads) will the node activate the reminder.

6. Wait Node to Delay Follow-Up Reminder

Configure the Wait node to delay the flow for 3 minutes after the initial lead entry.

This helps prevent premature reminders and gives the sales team a brief window to update the follow-up status manually.

7. Send Follow-Up Reminder Email If Needed

Connect the If node’s true output to another Gmail node named Gmail_Reminder. This node sends an email to notify the sales team about leads that have not yet been followed up.

Use the message format from the node:

=

🔔 The following lead has not been followed up yet! 🔥 Interest level is hot

  • Name: {{ $json['Name Surname'] }}
  • Email: {{ $json['E-Mail'] }}
  • Interest Level: {{ $json[' Interest Level '] }}

Please follow up and update the spreadsheet ✅

The subject uses: “⏰ *Follow-up Reminder!*”.
This ensures no hot leads fall through the cracks.

8. Handle Non-Hot or Already Followed-Up Leads

For leads that either do not have a “Hot” interest level or have already been followed up, connect the If node’s false output to a No Operation node. This prevents any further unnecessary actions for those records.

Customizations ✏️

  • Adjust Reminder Delay Time: In the Wait node, change the delay from 3 minutes to any preferred time (e.g., 1 day for real-world follow-ups). This helps tailor your urgency cycle.
  • Modify Notification Channels: Replace the Slack node with Microsoft Teams or Discord by swapping the node type and updating credentials while preserving message templates.
  • Add More Lead Qualification Fields: Extend the HubSpot node’s ‘Additional Fields’ to include company size, lead source category, or potential deal value for richer analytics.
  • Customize Email Message Templates: Edit the Gmail nodes’ HTML message parameters to include branding, banners, or other personalized content.
  • Track Follow-up Status Automatically: Include a Google Sheets Write node to update the “Followed Up?” column automatically after sending a reminder or on lead contact.

Troubleshooting 🔧

  • Problem: “Authentication Failed” in Google Sheets Trigger or Gmail nodes.
    Cause: Expired or incorrect OAuth2 credentials.
    Solution: Go to n8n Credentials → Reauthorize the Google Sheets and Gmail OAuth2 accounts by removing and re-adding them.
  • Problem: Slack messages don’t send or appear blank.
    Cause: Incorrect channel ID or OAuth token missing.
    Solution: Verify Slack channel ID in Slack node parameters and reauthenticate OAuth2 credentials in n8n.
  • Problem: Follow-up reminders trigger for all leads, regardless of the ‘Hot’ interest level.
    Cause: If node conditions not properly configured.
    Solution: Check that the If node uses “exists” for “Followed Up?” and “contains” “Hot” with case sensitivity turned on exactly as shown.

Pre-Production Checklist ✅

  • Verify Google Sheets Trigger is correctly connected to your specific sheet and polling every minute.
  • Test Slack node by sending a sample message to the target channel.
  • Send a test lead to confirm Gmail lead notification arrives properly with formatting.
  • Ensure HubSpot contact is created with sample lead data.
  • Confirm the If node correctly identifies leads with empty “Followed Up?” and “Hot” interest level.
  • Check the reminder Gmail email triggers only after the set delay when criteria are met.
  • Prepare a data backup of your Google Sheets before going live.

Deployment Guide

After finalizing the workflow, activate it in your n8n editor by toggling the active switch.

Run manual tests with sample leads to ensure each node completes successfully and notifications appear.

Regularly monitor n8n execution logs to catch errors early.

If self-hosting, consider setting up system monitoring and backups for reliability.

FAQs

  • Can I use Airtable instead of Google Sheets? Yes, by swapping the Google Sheets Trigger with the Airtable node configured similarly.
  • Does this workflow consume many API credits on HubSpot? No, simple contact creation and updates are low-cost API operations.
  • Is my lead data secure in Slack and Gmail notifications? OAuth2 authentication ensures secure trusted connections. However, avoid including highly sensitive data in channels.
  • Can this handle high lead volumes? This setup handles moderate volumes well. For thousands of leads daily, consider pagination and throttling adjustments in n8n.

Conclusion

By following this guide, you’ve transformed Sarah’s tedious and error-prone lead management into a seamless automated workflow using n8n. This system saves hours daily, reduces data entry errors, and ensures hot leads never slip through the cracks.

Next, you might build upon this foundation by adding SMS follow-up via Twilio, advanced lead scoring, or integrating with other marketing platforms like Mailchimp.

You’re now equipped to manage your leads smarter and faster—giving your sales team the edge they need to convert more deals.

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation in n8n (Beginner Guide)

A complete beginner guide to building an AI-powered SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free