Google Sheets Lead Management & Client Time Tracking Pipeline - n8n Workflow

Automate your lead-to-client pipeline using n8n and Google Sheets. Send qualification emails, update CRM stages, and track project duration automatically using this powerful n8n workflow.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?

Individuals or teams using Google Sheets as a lightweight CRM.
Freelancers and service providers needing automated project time tracking and duration calculation.
Developers and automators seeking advanced n8n templates for combining Google Sheets Apps Script webhooks with core logic.
Users who want to implement robust, multi-branch sales pipelines using n8n nodes.

Overview

This comprehensive n8n workflow is designed to manage the entire lifecycle from lead acquisition to project delivery using Google Sheets as the data source. By integrating Google Apps Script (details provided in the workflow sticky notes), manual edits in the Sheets automatically fire webhooks, which serve as the primary n8n trigger mechanism. This setup allows the n8n automation to react instantly to stage changes, lead qualification, and project completion. The workflow handles three major processes: automated follow-up emails, seamless conversion of a 'Won' lead to the 'Clients' database, and precise time tracking for calculating the 'Time to Deliver' for finished projects. This powerful n8n workflow demonstrates how to create dynamic, data-driven automation pipelines without relying on specialized CRM software.

How it Works

The overall n8n workflow is composed of three distinct segments, each initiated by a dedicated webhook n8n trigger defined by the Google Apps Script in your spreadsheet:


  1. Lead Qualification Flow: The Webhook: Lead Qualified? n8n trigger activates when the 'Qualified?' checkbox is marked in Google Sheets. The IF: Is Qualified n8n node confirms the status, and subsequently, a Gmail n8n node sends a booking invitation containing a scheduling link (e.g., Cal.com). Separately, the Webhook: Meeting Booked n8n trigger handles the confirmation from the booking platform, using a Google Sheets n8n node to instantly update the lead's 'Stage' to 'Meeting Booked' in the Leads sheet.


  1. Stage Change and Conversion Flow: The Webhook: Lead Stage Changed n8n trigger fires whenever the 'Stage' column is edited. The data is processed by the Prepare Email Fields n8n node. If the stage is 'Awaiting Proposal', a specific follow-up email is sent. Crucially, if the IF: Stage == Won n8n node evaluates to true, the workflow proceeds to record the precise Start Date & Time using the Date & Time n8n node, and then uses the GS: Clients Append (On Won) n8n node to automatically promote the lead to the Clients sheet, marking their new Project Status as 'In Progress'.


  1. Project Time Tracking Flow: The Webhook: Client Status Changed n8n trigger initiates when a project's status is updated. If the status is 'Delivered' (confirmed by the IF: Delivered? n8n node), the workflow first uses the GS: Clients Lookup by Email n8n node to retrieve the existing 'Start Date & Time'. It then records the 'End Date & Time', and a custom Code n8n node calculates the duration between the start and end points. Finally, the GS: Clients Update End & Duration Google Sheets n8n node writes both the formatted end date and the calculated 'Time to Deliver' back to the client's row, concluding this segment of the n8n workflow.

Installation Guide

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


  1. Import: Copy the provided JSON data and import it into your n8n instance.

  2. Credentials: Set up or update your required credentials for the Gmail n8n node and the Google Sheets n8n node.

  3. Environment Variables: Define the necessary variables mentioned within the workflow, such as SENDERNAME, CALCOMBOOKINGURL, GOOGLESHEETSDOCID, LEADSGID, and CLIENTS_GID (the latter two are the Google Sheet tab IDs).

  4. Webhooks & Apps Script: Activate the three primary Webhook n8n trigger nodes (lead-stage-changed, lead-qualified, client-status-changed). Copy the resulting unique n8n webhook URLs.

  5. Google Sheets Setup: Use the Google Apps Script code provided in the workflow's Sticky Note1. You must replace the placeholder URLs within the const WEBHOOKS object in the Apps Script with the specific n8n webhook URLs you copied in the previous step. Save and authorize the Apps Script in your Google Sheet.

Node Details

Webhook: Lead Stage Changed / Qualified? / Client Status Changed (n8n trigger): These three nodes serve as the main n8n trigger points. They receive JSON payloads from the Google Sheets Apps Script whenever specific CRM fields are updated, initiating the corresponding automation branch of the n8n workflow.
Prepare Email Fields (Set n8n node): Cleans and transforms incoming data, specifically extracting the lead's first name and source platform from the body payload, making it ready for personalized email content.
If / IF: Stage == Won (n8n node): Logic nodes crucial for flow control. They evaluate the incoming data (e.g., checking if the stage equals 'Awaiting Proposal', 'Won', or 'Delivered') to direct the n8n workflow down the correct path.
Gmail: Send Stage-Change Email (Gmail n8n node): Sends automated, templated emails to leads based on specific status changes, ensuring rapid follow-up during the sales process. Requires Gmail credentials configured for the n8n node.
GS: Clients Append (On Won) (Google Sheets n8n node): Handles lead conversion. Appends a new row to the 'Clients' tab with starting details (Name, Email, Start Timestamp) when the stage is marked 'Won'. This demonstrates the power of the Google Sheets n8n node for data manipulation.
Date & Time (n8n node): Used twice (Format Start Timestamp and Format End Timestamp) to capture the exact current moment and format it uniformly (DD/MM/YYYY at HH:mm) for accurate time logging.
Code (n8n node): A custom n8n node containing JavaScript logic. Its purpose is to calculate the precise duration (days, hours, minutes) between the 'Start Date & Time' fetched from Google Sheets and the newly recorded 'End Date & Time'.
GS: Clients Update End & Duration (Google Sheets n8n node): Updates the client's record by matching the email and writing back the calculated project duration and the completion timestamp.

Related n8n Workflows

Free

Nodes: 8 Nodes
Updated: December 26 2025
View all
Created by
Ziad Adel
Ziad Adel

AI Automation Growth Partner with 5 years of experience in the tech and hyper growing startups industry

Featured*