Google Sheets + Gmail: instant solar lead follow ups
Solar leads come in fast, then vanish. Not because people aren’t interested, but because the follow-up gets stuck in a messy handoff: someone has to download a utility bill, paste data into a sheet, and remember to email the lead before they cool off.
Sales managers feel it in the weekly pipeline report. Marketing teams see the cost in wasted ad spend. And the ops person “helping out” ends up doing admin work all day. This solar lead followups automation fixes that by qualifying leads automatically and replying the right way, every time.
You’ll see how the workflow captures the lead, stores the utility bill in Google Drive, logs everything in Google Sheets, then sends a Gmail follow up based on qualification rules (homeowner, 650+ credit score, and no trees on the roof).
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Google Sheets + Gmail: instant solar lead follow ups
flowchart LR
subgraph sg0["Flow 1"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "STEP 2 Upload Utility Bill", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "STEP 3 Make Bill Viewable", pos: "b", h: 48 }
n2@{ icon: "mdi:code-braces", form: "rounded", label: "STEP 4 Create Bill Link", pos: "b", h: 48 }
n3@{ icon: "mdi:database", form: "rounded", label: "STEP 5 Save Lead to Spreadsh..", pos: "b", h: 48 }
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>STEP 7 Check Qualification C.."]
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check Qualification Status", pos: "b", h: 48 }
n6@{ icon: "mdi:message-outline", form: "rounded", label: "STEP 10A Send Acceptance Email", pos: "b", h: 48 }
n7@{ icon: "mdi:message-outline", form: "rounded", label: "STEP 10B Send Rejection Email", pos: "b", h: 48 }
n8["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/webhook.dark.svg' width='40' height='40' /></div><br/>Webhook"]
n9@{ icon: "mdi:database", form: "rounded", label: "STEP 8 Update Qualification ..", pos: "b", h: 48 }
n10@{ icon: "mdi:database", form: "rounded", label: "Append row in sheet", pos: "b", h: 48 }
n11@{ icon: "mdi:database", form: "rounded", label: "STEP 5 Save Lead to Spreadsh..", pos: "b", h: 48 }
n12["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/webhook.dark.svg' width='40' height='40' /></div><br/>Webhook1"]
n8 --> n0
n12 --> n11
n2 --> n3
n5 --> n6
n5 --> n7
n1 --> n2
n0 --> n1
n6 --> n10
n3 --> n4
n11 --> n4
n9 --> n5
n4 --> n9
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n5 decision
class n3,n9,n10,n11 database
class n8,n12 api
class n2,n4 code
classDef customIcon fill:none,stroke:none
class n4,n8,n12 customIcon
The Problem: Solar leads get mishandled after the form
The lead form submission is the easy part. The painful part is everything that happens after: someone checks the form entry, downloads the utility bill attachment, uploads it to a shared folder, creates a link, copies fields into a sheet, then decides which email to send. It’s tedious, so it gets delayed. And delays are deadly in solar. When a lead waits a day, they often request three more quotes and you’re suddenly “one of many.” On top of that, manual qualification invites mistakes, which means good leads get the wrong response and bad leads waste a sales rep’s time.
It adds up fast. Here’s where the cracks usually show:
- A utility bill file sits in someone’s inbox because nobody knows where to store it.
- Lead details end up split between a form tool, an email thread, and an outdated spreadsheet.
- Qualification becomes “gut feel,” so your team follows up inconsistently and argues about what counts.
- Hot leads don’t get a message quickly, and you lose them to the fastest responder.
The Solution: Qualify, log, and follow up automatically
This n8n workflow turns your solar lead form into an automatic intake and follow-up system. A webhook receives the form submission the moment it happens. If there’s a utility bill upload, the workflow sends it straight to Google Drive, sets sharing so it can be viewed, then generates a clean link to store with the lead record. Next, the lead is recorded in Google Sheets so your pipeline has a single source of truth. Then qualification logic checks three criteria (homeowner, credit score of 650+, and no trees on the roof). Finally, Gmail sends a personalized follow up based on the result, and the outcome is appended back to your sheet so you can track what happened without digging through inboxes.
The workflow starts with a form submission hitting an n8n webhook. Google Drive handles the document storage and link creation, while Google Sheets becomes the lead ledger. Then the workflow routes leads through a simple “qualified vs. not qualified” decision and sends the correct Gmail response automatically.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you get 20 solar leads a week. Manually, it’s easy to spend about 10 minutes per lead downloading the utility bill, uploading it to Drive, pasting data into Google Sheets, and deciding which email to send. That’s roughly 3 hours a week, plus the “I’ll do it later” delay that costs deals. With this workflow, the only human time is reviewing the sheet and taking calls: the webhook intake, Drive upload, qualification check, and Gmail follow up run automatically within a couple minutes.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Sheets for storing leads and qualification status.
- Google Drive to store utility bill uploads safely.
- Gmail to send the acceptance or rejection follow up.
Skill level: Intermediate. You’ll connect Google credentials, map form fields, and customize two email templates.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A lead hits your form webhook. The workflow begins when your website form sends a POST request to the n8n webhook (the workflow includes two webhook entry points so you can support two sources or form versions).
The utility bill is stored and shared. If a file upload is included, n8n uploads the utility bill to Google Drive, updates folder permissions, then generates a shareable link you can store alongside the lead.
Lead data is written to Google Sheets and evaluated. The workflow records the lead row, then a code step checks qualification criteria: homeowner status, a credit score of 650+, and whether trees shade the roof.
The right Gmail follow up goes out, and the sheet is updated. Qualified leads get a “next steps” email, while disqualified leads get a clear reason and suggestions. The workflow then appends the outcome so you can track performance without hunting through inboxes.
You can easily modify the qualification rules to match your market, or swap Google Sheets for Airtable if you want richer filtering and views. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Webhook Trigger
Set up both inbound endpoints so new leads can enter the workflow from two sources.
- Add and open Inbound Lead Webhook and configure the webhook path and HTTP method for your primary lead source.
- Open Secondary Lead Webhook and configure the path and HTTP method for the secondary lead source.
- Verify your external lead form or system can POST data to each webhook’s test URL.
Tip: Keep payload field names consistent across both webhooks so downstream nodes like Evaluate Lead Criteria can evaluate leads reliably.
Step 2: Connect Google Drive
Configure the Drive steps that upload and share invoice files for qualified leads.
- Open Upload Utility Invoice and define the Drive folder and file settings required for your invoice files.
- Open Set Invoice Sharing and configure the sharing permissions to match your access requirements.
- Confirm the execution chain Inbound Lead Webhook → Upload Utility Invoice → Set Invoice Sharing remains connected.
- Credential Required: Connect your Google Drive credentials in both Upload Utility Invoice and Set Invoice Sharing.
⚠️ Common Pitfall: If Drive permissions aren’t configured in Set Invoice Sharing, the link generated later may not be accessible to recipients.
Step 3: Set Up Processing Nodes
Generate a shareable link for the invoice and evaluate lead qualification criteria.
- Open Generate Invoice Link and implement the function logic that builds the shareable URL from the Drive file data.
- Open Evaluate Lead Criteria and implement the code that determines whether a lead is qualified based on incoming data.
- Confirm Generate Invoice Link outputs to Record Lead in Sheet, and both Record Lead in Sheet and Record Lead in Sheet B output to Evaluate Lead Criteria.
Step 4: Configure Google Sheets Updates
Record inbound leads, update qualification status, and log outcomes in your spreadsheets.
- Open Record Lead in Sheet and configure the target spreadsheet, worksheet, and columns for primary leads.
- Open Record Lead in Sheet B and configure the spreadsheet for secondary leads.
- Open Update Qualification Flag and map the qualification result from Evaluate Lead Criteria.
- Open Append Outcome Row and map the approval outcome data after Dispatch Approval Email.
- Credential Required: Connect your Google Sheets credentials in Record Lead in Sheet, Record Lead in Sheet B, Update Qualification Flag, and Append Outcome Row.
Step 5: Configure Email Routing and Responses
Send approval or decline messages based on the qualification outcome.
- Open Route by Qualification and define the condition that checks the qualification flag from Update Qualification Flag.
- In the true branch, configure Dispatch Approval Email with your subject, recipients, and body content.
- In the false branch, configure Dispatch Decline Email with your decline messaging.
- Confirm Route by Qualification routes to both Dispatch Approval Email and Dispatch Decline Email depending on the condition.
- Credential Required: Connect your Gmail credentials in Dispatch Approval Email and Dispatch Decline Email.
⚠️ Common Pitfall: If the condition in Route by Qualification doesn’t match the field produced in Evaluate Lead Criteria, emails may not send to the correct branch.
Step 6: Test and Activate Your Workflow
Validate the workflow end-to-end before enabling it in production.
- Use the Execute Workflow button and send a test payload to Inbound Lead Webhook and Secondary Lead Webhook.
- Confirm the flow reaches Upload Utility Invoice → Set Invoice Sharing → Generate Invoice Link → Record Lead in Sheet for primary leads.
- Verify Evaluate Lead Criteria updates Update Qualification Flag and that Route by Qualification triggers the correct email node.
- Check that Append Outcome Row receives data after Dispatch Approval Email when a lead is qualified.
- Once successful, toggle the workflow to Active for production use.
Common Gotchas
- Google Drive credentials can expire or need specific permissions. If uploads fail, check n8n’s credential settings and the Drive folder permissions first.
- If you use wait/processing time in your own version (or your form provider delivers files slowly), processing times vary. Bump up any wait duration if downstream nodes fail because they’re seeing an empty file or missing link.
- Gmail follow-up copy matters more than people think. Default templates can sound robotic, so bake in your brand voice and next-step CTA early or you will keep rewriting emails later.
Frequently Asked Questions
About an hour if your Google accounts are ready.
No. You’ll mainly map form fields and connect Google credentials. The qualification logic is already built, and you can tweak it later if you want.
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 Google usage (usually free for this volume) and any costs from your form tool.
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.
Yes, and it’s the first thing most teams change. You’ll edit the “Evaluate Lead Criteria” code step to adjust homeowner requirements, credit score thresholds, or how you interpret “trees on roof.” Common customizations include adding a zip-code service area check, flagging commercial properties separately, and routing “maybe” leads to a different nurture email.
Usually it’s the OAuth permission scope or the spreadsheet ID. Reconnect your Google Sheets credentials in n8n, confirm the workflow is pointing at the right document ID, and double-check your column names match exactly. If the sheet is shared from another account, make sure the authenticated user has edit access.
A lot more than most small teams need.
Often, yes, if you care about logic and clean control. This workflow has multiple branches, file handling in Google Drive, and a real qualification step that updates your sheet before routing the email. In Zapier, that can turn into several Zaps (and extra cost), and file upload + sharing links can get fiddly. Make is closer, but n8n is still easier to self-host when you want volume without watching task counts. If you just need “form → send email” with no document handling and no qualification, Zapier can be quicker. Talk to an automation expert if you want a fast recommendation.
Once this is running, your leads stop depending on someone’s memory. The workflow handles the repetitive pieces, and your team can focus on the conversations that actually close deals.
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.