🔓 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

Google Sheets to Google Drive, proposals ready fast

Lisa Granqvist Partner Workflow Automation Expert

Your lead list is “organized” until someone asks for the latest proposal, a one-pager, and a quick follow-up note. Then it’s copy-paste chaos, half-finished drafts, and files saved in three different places.

Sheets Drive automation hits hardest when marketing ops is keeping a pipeline moving, but agency owners and sales coordinators feel the same strain. The outcome is simple: booked rows in your sheet turn into polished, stored collateral (with links), plus a Gmail summary you can forward.

This workflow batches the whole job in one run. You will see what it creates, where it stores everything in Google Drive, and how it updates your CRM-style Google Sheet so nothing gets lost later.

How This Automation Works

See how this solves the problem:

n8n Workflow Template: Google Sheets to Google Drive, proposals ready fast

The Challenge: Proposal Collateral Takes Too Long

If you use Google Sheets as a lightweight CRM, “BOOKED” should mean momentum. Instead, it often means a scramble. You find the row, double-check the contact email, open an old proposal template, rewrite the same scope section again, then paste snippets into a follow-up email. After that, someone asks where the file lives, and you realize it’s sitting on a personal Drive (or worse, nowhere). The worst part is the mental load. You’re trying to sound sharp and tailored while doing repetitive admin work.

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

  • Booked leads sit idle because writing “just one proposal” turns into an hour of context switching.
  • Manual drafting makes tone inconsistent, so follow-ups feel random instead of on-brand.
  • Files get uploaded without a clear naming pattern, which makes Drive search feel like roulette.
  • The sheet never gets updated with links, so your team re-creates work you already did.

The Fix: Generate, Store, and Report Collateral Automatically

This workflow takes the lead data you already maintain in Google Sheets and turns it into ready-to-use sales collateral for only the leads marked as BOOKED. You run it manually when you want a batch processed (daily, a few times a week, or right after a sales push). It validates each row first, so malformed emails don’t quietly poison the run. For every booked lead, GPT-4o generates three assets: a short sales summary, a one-pager, and a proposal draft. Those outputs are cleaned into structured JSON, compiled into a readable text report, uploaded into a dedicated Google Drive folder, and then written back to your Sheet as a proposal link for traceability. Finally, it sends a Gmail summary containing a neat HTML list of every file it created, plus a short “what happened” insights paragraph.

The workflow begins with a pull from your outreach sheet. Then it filters and generates collateral with GPT-4o, uploads reports to Google Drive, and updates the original rows with links. Gmail delivers the wrap-up so you can forward it to leadership without touching formatting.

What Changes: Before vs. After

Real-World Impact

Say you book 10 leads in a week. Manually, you might spend about 10 minutes on a follow-up note, 20 minutes on a one-pager, and 30 minutes shaping a proposal draft per lead (plus another 5 minutes saving and linking), which is roughly 1 hour each. That’s about 10 hours weekly. With this workflow, you kick off a batch run in a couple minutes, wait for generation and Drive uploads, then review and tweak only the ones that need it. For many teams, the “writing from scratch” time drops to quick editing, which feels very different.

Requirements

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets as your lead source and tracker.
  • Google Drive to store and share generated reports.
  • Gmail to send the HTML summary email.
  • Azure OpenAI (GPT-4o) credentials (get it from your Azure OpenAI resource in Azure Portal).

Skill level: Intermediate. You’ll connect Google + Azure accounts and paste credentials, but you won’t be writing real code unless you want deeper customization.

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

The Workflow Flow

Manual run to process a batch. You click Execute Workflow, which is useful when you want control over timing (for example, right after your “booked” statuses are updated).

Pull and validate lead rows from Google Sheets. It fetches the latest rows from your outreach sheet, checks that each record has a valid email format, and logs bad rows into a separate sheet tab so you can clean them later.

Generate collateral only for BOOKED leads. An If filter isolates booked rows, then GPT-4o writes a structured sales summary, a one-pager, and a proposal draft using the lead details (company, role, industry, and whatever else you track).

Upload to Google Drive and push links back into the Sheet. The workflow compiles each lead’s content into a text report, uploads it to your Drive folder, and updates the original row with a proposal link so your sheet becomes the source of truth.

Send a Gmail recap with clickable links. It aggregates the uploaded file metadata into a clean HTML email and sends it to your marketing inbox as a single “here’s what was created” summary.

You can easily modify the collateral format to match your templates based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Manual Trigger

Set up the workflow to start on demand so you can test and run the sales collateral generation manually.

  1. Add Manual Run Trigger as the starting node.
  2. Leave all settings at their default values to enable manual executions.
  3. Connect Manual Run Trigger to Fetch Lead Rows from Sheets.

Step 2: Connect Google Sheets for Lead Intake and Validation

Pull lead data, validate email quality, and log invalid leads to a separate sheet.

  1. Open Fetch Lead Rows from Sheets and select your spreadsheet.
  2. Set documentId to [YOUR_ID] and sheetName to outreach automation.
  3. Credential Required: Connect your googleSheetsOAuth2Api credentials in Fetch Lead Rows from Sheets.
  4. In Validate Lead Payload, keep the email regex condition: /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test({{ $json.Email }}).
  5. Connect the false output of Validate Lead Payload to Append Invalid Leads to Sheet.
  6. In Append Invalid Leads to Sheet, set Operation to append.
  7. Credential Required: Connect your googleSheetsOAuth2Api credentials in Append Invalid Leads to Sheet.

Step 3: Filter Booked Leads and Configure AI Generation

Filter to only booked leads, then generate sales collateral using Azure OpenAI models connected to agent nodes.

  1. In Select Booked Leads, set the condition to Booking Status equals BOOKED using {{ $json["Booking Status"] }}.
  2. Open Azure GPT-4o Setup and set Model to gpt-4o.
  3. Credential Required: Connect your azureOpenAiApi credentials in Azure GPT-4o Setup.
  4. Open Create Sales Collateral AI and keep the full prompt in text as provided, including lead fields like {{ $json["Company Name"] }} and {{ $json["Contact Person"] }}.
  5. Ensure Azure GPT-4o Setup is connected as the language model for Create Sales Collateral AI (credentials are added to Azure GPT-4o Setup, not the agent node).

Step 4: Parse AI Output and Build Report Files

Clean and parse the AI JSON output, then generate text report files for each lead.

  1. In Parse AI JSON Result, keep the JavaScript that cleans and parses JSON from item.json.output.
  2. In Build Text Reports, keep the code that assembles the report and creates binary data using Buffer.from(report, "utf8").
  3. Confirm the generated file name is Lead_Report_{{index + 1}}.txt in the fileName field.

Step 5: Upload Reports and Process Parallel Branches

Upload the generated reports to Drive, then split into two parallel branches for summary and sheet updates.

  1. In Upload Reports to Drive, set Name to {{$json["fileName"]}}.
  2. Set driveId to My Drive and folderId to [YOUR_ID] (e.g., collatral data).
  3. Credential Required: Connect your googleDriveOAuth2Api credentials in Upload Reports to Drive.
  4. Upload Reports to Drive outputs to both Compile Uploaded File List and Match Files to Leads in parallel.
  5. In Match Files to Leads, keep the reference to booked leads with $('Select Booked Leads').all() to align files with lead rows by index.

If file-to-lead alignment looks off, verify that the number of items output by Select Booked Leads matches the number of files uploaded by Upload Reports to Drive.

Step 6: Update Google Sheets with Proposal Links

Write the uploaded file URLs back to the lead sheet using email as the matching key.

  1. Open Update Sheet with Proposal Link and set Operation to appendOrUpdate.
  2. Confirm the mapping uses Email with {{ $json.Email }} and Proposal Link with {{ $json.ProposalLink }}.
  3. Set documentId to [YOUR_ID] and sheetName to outreach automation.
  4. Credential Required: Connect your googleSheetsOAuth2Api credentials in Update Sheet with Proposal Link.

Step 7: Generate and Send the Summary Email

Create a HTML summary of uploaded files and send it via Gmail.

  1. In Compile Uploaded File List, keep the logic that builds fileListText and totalLeads.
  2. Open Azure GPT-4o Setup B and set Model to gpt-4o.
  3. Credential Required: Connect your azureOpenAiApi credentials in Azure GPT-4o Setup B.
  4. In Draft Summary Email HTML, keep the prompt that uses {{ $json["totalLeads"] || "0" }} and {{ $json["fileListText"] || "No uploaded file data available" }}.
  5. Ensure Azure GPT-4o Setup B is connected as the language model for Draft Summary Email HTML (credentials are added to Azure GPT-4o Setup B, not the agent node).
  6. In Send Summary Email Gmail, set sendTo to [YOUR_EMAIL], subject to Sales Collateral Summary, and message to {{ $json.output }}.
  7. Credential Required: Connect your gmailOAuth2 credentials in Send Summary Email Gmail.

⚠️ Common Pitfall: The Gmail body uses {{ $json.output }} from Draft Summary Email HTML. If the AI returns JSON or markdown, the email will look broken—keep the HTML-only instruction intact.

Step 8: Test and Activate Your Workflow

Run a manual test to confirm files are created, uploaded, logged to Sheets, and emailed.

  1. Click Execute Workflow to run from Manual Run Trigger.
  2. Verify Upload Reports to Drive creates files in the specified Drive folder.
  3. Confirm Update Sheet with Proposal Link writes the Proposal Link for each matched email.
  4. Check your inbox to confirm Send Summary Email Gmail delivers the HTML summary.
  5. Once confirmed, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Watch Out For

  • Google Sheets credentials can expire or need specific permissions. If things break, check the n8n credential status and the Google account’s access to the spreadsheet 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.
  • Azure OpenAI (GPT-4o) deployments are easy to misconfigure. If the AI nodes suddenly fail, confirm your Azure resource, deployment name, and quota limits before you touch the prompts.

Common Questions

How quickly can I implement this Sheets Drive automation automation?

About an hour if your Google and Azure accounts are already set up.

Can non-technical teams implement this task/outcome from focus keyword?

Yes, but you’ll want someone comfortable connecting OAuth accounts in n8n. No coding is required for the basic version, and the workflow already includes validation and logging.

Is n8n free to use for this Sheets Drive 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 Azure OpenAI usage, which depends on how long your prompts and outputs are.

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 Sheets Drive automation solution to my specific challenges?

You can adjust what gets generated by editing the prompts in the “Create Sales Collateral AI” and “Draft Summary Email HTML” nodes. Common tweaks include adding your brand voice rules, forcing a specific proposal structure (like pricing tiers), and changing file naming so Drive matches your internal conventions. If you prefer Google Docs instead of .txt reports, swap the “Build Text Reports” and “Upload Reports to Drive” approach for a Docs creation step, then keep the same “Update Sheet with Proposal Link” idea.

Why is my Google Sheets connection failing in this workflow?

Usually it’s expired Google OAuth credentials or the connected account lost access to the spreadsheet. Reconnect the Google Sheets credential in n8n, then confirm the sheet is still shared with that Google user. If it fails only on updates, check that the workflow is pointing at the right tab and that your columns haven’t been renamed.

What’s the capacity of this Sheets Drive automation solution?

On most setups, processing a few dozen booked leads in a single run is realistic, but AI generation time and API limits will be your bottleneck. n8n Cloud capacity depends on plan executions, while self-hosting has no execution cap (it depends on your server). If you’re doing big batches, run it more often with smaller groups so Gmail summaries and Drive uploads stay snappy.

Is this Sheets Drive automation automation better than using Zapier or Make?

Often, yes, because this workflow needs branching, data cleanup, and multi-step AI generation before it ever sends an email. n8n handles that kind of logic without turning every conditional into a paid add-on. Self-hosting is also a big deal if you want to run large batches without worrying about task pricing. Zapier or Make can still be fine for a simpler “new row → send email” setup. If you’re unsure, Talk to an automation expert and we’ll map it to your volume and process.

You get consistent collateral, stored cleanly in Drive, with the Sheet updated so nobody has to guess. Honestly, once it’s running, it feels like you hired a very fast assistant for the boring parts.

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