Automated Lead Deduplication and CRM Sync using Google Sheets - n8n Workflow

Use this powerful n8n workflow template to automatically ingest leads from Google Sheets, check for duplicates, update your CRM (GoHighLevel), and manage activity logs efficiently.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • Marketing teams aiming to maintain clean CRM data.

  • Sales Operations specialists needing reliable, real-time lead management.

  • Users handling high volumes of Google Forms submissions.

  • n8n enthusiasts looking for advanced n8n templates for data hygiene and CRM integration.

Overview

This comprehensive n8n workflow template solves the critical business problem of managing lead data duplication. Starting with a specialized n8n trigger that monitors new form submissions logged in Google Sheets, the automation instantly queries a master database to identify existing contacts. This specific n8n workflow ensures data integrity in your CRM (GoHighLevel) by routing newly validated leads for creation while sending duplicates down an update path. By integrating conditional logic and specialized n8n node actions for external API communication, this automation provides a robust, real-time solution for maintaining clean lead data.

How it Works

This efficient n8n workflow begins by using a dedicated n8n trigger and then branches into two distinct paths based on lead status.


  1. Start and Monitoring: The Google Sheets Trigger1 n8n node acts as the primary n8n trigger, monitoring the specified Google Forms response spreadsheet every minute for new lead entries.

  2. Duplicate Check: The incoming lead data immediately flows to the Lookup Lead1 Google Sheets n8n node, which queries a master 'Lead Database' spreadsheet using the submitted email address to identify potential duplicates.

  3. Conditional Routing: The Check from the data base?1 If n8n node evaluates the result. If a match is found (Duplicate Lead), the flow takes the 'True' path. If no match is found (New Lead), it takes the 'False' path.

  4. Path A (New Lead Processing): New leads pass through an additional filter (Check the duplication) before the Create Contact (GHL)1 n8n node sends an API request to GoHighLevel to create a new CRM contact, complete with custom fields and tags. The final step in this n8n workflow branch is the Log New Lead1 n8n node, which appends the complete lead information and the newly generated GHL contact ID to the master database.

  5. Path B (Duplicate Lead Processing): Duplicate leads proceed to the Update Contact (GHL)1 n8n node, which updates the existing contact record in GoHighLevel with the latest submission data. A subsequent Code n8n node processes the API response to extract necessary contact data. The workflow concludes when the Log Duplicate Lead1 n8n node updates a separate tracking spreadsheet, recording the duplicate activity details.

Installation Guide

To utilize this powerful n8n workflow template, follow these steps:


  1. Import: Copy the provided JSON data and paste it into your n8n instance using the 'Import Workflow' feature.

  2. Google Sheets Credentials: Update the credentials for all Google Sheets n8n nodes (Google Sheets Trigger1, Lookup Lead1, Log New Lead1, Log Duplicate Lead1). You will need to set up OAuth2 credentials allowing read and write access to your primary Lead Database and Forms response sheets.

  3. CRM Credentials: Update the goHighLevelApi credentials used in the Create Contact (GHL)1 and Update Contact (GHL)1 n8n nodes. This requires your GoHighLevel API key.

  4. Sheet Configuration: Ensure the Document IDs and Sheet Names in the Google Sheets n8n node parameters match your live lead database and trigger spreadsheet URLs.

  5. Activation: Save the n8n workflow and toggle the 'Active' switch to enable the n8n trigger and start monitoring for new form submissions.

Node Details

This n8n workflow relies on several key n8n node components for its logic and integration:

Google Sheets Trigger1 (n8n trigger):
Function: Starts the n8n workflow when new data is detected in the Google Forms response sheet (poll interval: every minute).
Key Configuration: Configured to monitor a specific sheet URL for new submissions.
Lookup Lead1 (Google Sheets n8n node):
Function: Executes a search operation on the master 'Lead Database' spreadsheet to find the incoming lead's email address.
Key Configuration: Uses a specified Document ID to search for existing records.
Check from the data base?1 (If n8n node):
Function: Routes the workflow execution based on the result of the lead lookup, determining if the lead is new or a duplicate.
Key Configuration: Compares the incoming email address against the result from the Lookup Lead1 n8n node.
Create Contact (GHL)1 (HTTP Request n8n node):
Function: Creates a new contact in the GoHighLevel CRM system.
Key Configuration: Uses a JSON body mapping data from the n8n trigger node, including custom fields like lead_score and setting tags (New Lead, Google Form).
Update Contact (GHL)1 (HTTP Request n8n node):
Function: Updates an existing contact record in GoHighLevel when a duplicate submission is found.
Key Configuration: Uses the email address in the URL parameter for targeting the specific contact for update.
Log New Lead1 (Google Sheets n8n node):
Function: Appends the full details of the newly created lead (including the GHL ID) to the master database spreadsheet.
Key Configuration: Operation set to append data to the sheet.
Log Duplicate Lead1 (Google Sheets n8n node):
Function: Tracks repeated submissions by updating a record in the dedicated duplicate tracking sheet.

Related n8n Workflows

Free

Nodes: 7 Nodes
Updated: December 26 2025
View all
Created by

Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.

Featured*