Prospect Intake Automation with n8n
Automate prospect intake with n8n, Google Sheets, Drive, Docs, and Gmail.
Introduction
30 Second Summary
Every time a new potential client shows interest, someone has to create a folder, make research documents, update a spreadsheet, and notify the team. That manual busywork adds up fast when you're juggling multiple prospects a week.
In this project, you will build a prospect intake automation system using n8n that handles all of that automatically. When a team member submits a form, your workflow will log the prospect, organize files, generate documents, and send notifications without anyone lifting a finger.
What You'll Build
A complete prospect intake automation for a fictional web agency called Main Street Web Co., powered by an n8n workflow that connects Google Sheets, Google Drive, Google Docs, and Gmail.
By the end of this project, you'll have:
- A working n8n workflow with 10+ connected nodes that processes new business prospects from form submission through document generation and team notification.
- A self-populating Google Sheets lead tracker that automatically updates with links to generated prospect documents.
- An organized Google Drive folder structure with auto-generated Business Research Reports and Website Strategy Reports for each prospect.
- Secret Mission: Add AI-powered research report drafting with OpenAI and a human approval step where the team must approve a prospect before the workflow continues.
Are there any prerequisites?
You need a Google account with access to Google Sheets, Google Drive, Google Docs, and Gmail. You will also need an OpenAI API key if you want to complete the Secret Mission, but it is optional for the core project.
Set Up n8n Cloud and Google Cloud Project
Before you can automate anything, you need the two platforms that power this workflow: n8n for building the automation, and Google Cloud for connecting to Google Sheets, Drive, Docs, and Gmail.
In this step, you will create accounts on both platforms and wire them together with OAuth credentials so n8n can talk to Google services on your behalf.
In this step, get ready to:
- Sign up for n8n Cloud and verify the workflow canvas loads.
- Create a Google Cloud project and enable the required APIs.
- Connect n8n to Google services using OAuth 2.0 credentials.
Sign up for n8n Cloud
n8n Cloud is a hosted version of the n8n automation platform. It gives you a workflow editor in your browser without any local installation. The free trial does not require a credit card.
- Open your browser and navigate to n8n.io.
- Click Start free trial on the pricing page.
- Enter your email, create a password, and complete the sign-up form.
- Once your account is created, n8n will open the Editor UI. This is the web interface where you build workflows.
- Select Overview in the left sidebar, then click Create Workflow to open the workflow canvas.
You should see a gray dotted grid background with an Add first step placeholder in the center. This is the canvas where you will build your automation.
What is the workflow canvas?
The canvas is n8n's visual workspace. You drag nodes onto it, connect them together, and each node performs one action (like reading a spreadsheet or sending an email). The canvas shows the data flowing between nodes as you test.
Bookmark your instance URL
Your n8n Cloud instance has a unique URL (something like your-name.app.n8n.cloud). Bookmark it so you can return to the editor quickly throughout this project.
Can't see the canvas?
Make sure you clicked Create Workflow from the Overview page. If you see a welcome screen instead, select Start from Scratch to open a blank canvas.
help me access the n8n workflow canvas
Create a Google Cloud project and enable APIs
For n8n to interact with Google Sheets, Drive, Docs, and Gmail, you need a Google Cloud project with the right APIs turned on. You also need an OAuth consent screen that authorizes n8n to act on your behalf.
- Open Google Cloud Console and sign in with your Google account.
- In the top navigation, click the project dropdown and select New project.
- Enter a project name (for example, n8n-prospect-intake) and click Create.
- Wait a few seconds for the project to be created, then confirm it is selected in the top navigation dropdown.
Now enable the four APIs your workflow needs.
- In the left sidebar, navigate to APIs & Services, then click Library.
- Search for Google Sheets API, select it, and click Enable.
- Return to the Library and repeat for Google Drive API.
- Return to the Library and repeat for Google Docs API.
- Return to the Library and repeat for Gmail API.
Why do I need the Google Drive API for Sheets and Docs?
Google Docs and Google Sheets both require the Google Drive API in addition to their own API. The Drive API handles file-level operations (creating, moving, and sharing) that the Docs and Sheets APIs rely on.
Next, configure the OAuth consent screen so Google knows which app is requesting access.
- In the left sidebar under APIs & Services, click OAuth consent screen.
- For the Audience, select External (unless you have a Google Workspace account, in which case select Internal).
- Enter an app name (for example, n8n Integration) and select your email as the support email.
- In the Authorized domains section, click Add domain and enter n8n.cloud.
- Add your email address as the developer contact information.
- Click Save to finish the consent screen setup.
- If you selected External, click Audience and add your Google email to the list of Test users.
Why add myself as a test user?
When your app's publishing status is set to Testing (the default for External apps), only accounts listed as test users can complete the OAuth sign-in flow. Without adding yourself, you will see an "access denied" screen when n8n tries to connect.
Tokens expire after 7 days in Testing mode
For External apps in Testing mode, Google consent tokens expire after 7 days. If your n8n credentials stop working after a week, return to n8n and click Sign in with Google again to reconnect.
Don't see the OAuth consent screen option?
Make sure you have the correct project selected in the top navigation dropdown. The OAuth consent screen is configured per project.
help me find the OAuth consent screen in Google Cloud Console
Create OAuth credentials and connect n8n to Google
The final piece is creating OAuth 2.0 client credentials in Google and entering them into n8n. This lets n8n request permission to access your Google Sheets, Drive, Docs, and Gmail on your behalf.
- In your Google Cloud Console, go to APIs & Services and click Credentials.
- Click + Create credentials and select OAuth client ID.
- In the Application type dropdown, select Web application.
- Give it a name you will recognize (for example, n8n OAuth Client).
Before you click Create, you need the OAuth Redirect URL from n8n. Switch to n8n to get it.
- In your n8n instance, click the Create button in the upper-left corner of the side menu and select Credential.
- Search for and select Google Sheets OAuth2 API.
- In the credential modal, look for the OAuth Redirect URL field at the top. Copy this URL.
- Switch back to Google Cloud Console.
- Paste the URL into the Authorized redirect URIs field.
- Click Create.
Google displays a modal with your Client ID and Client Secret. Keep this modal open.
- Copy the Client ID from the Google modal and paste it into the Client ID field in n8n.
- Copy the Client Secret from the Google modal and paste it into the Client Secret field in n8n.
- Click Sign in with Google in n8n to complete the OAuth flow.
- Select your Google account and grant the permissions requested.
- Click Save to store the credential.
What about the other three services?
You need separate credentials in n8n for Google Drive, Google Docs, and Gmail. The good news is that you can reuse the same Client ID and Client Secret from Google Cloud for all four credentials. The OAuth client you created works across all enabled APIs in the same project.
- Repeat the credential creation process in n8n for Google Drive OAuth2 API. Paste the same Client ID and Client Secret, then click Sign in with Google and save.
- Repeat for Google Docs OAuth2 API. Paste the same Client ID and Client Secret, click Sign in with Google, and save.
- Repeat for Gmail OAuth2 API. Paste the same Client ID and Client Secret, click Sign in with Google, and save.
When you save each credential, n8n tests the connection automatically. If the credential saves without error, the connection is working.
Seeing a redirect_uri_mismatch error?
This means the redirect URI n8n is sending does not match the one registered in your Google Cloud OAuth client. Copy the OAuth Redirect URL from the n8n credential panel and paste it exactly into the Authorized redirect URIs field of your Google OAuth client. Make sure the protocol and port match.
help me fix a redirect_uri_mismatch error when connecting n8n to Google
Seeing an invalid_client error?
This typically means the Client ID or Client Secret you pasted into n8n does not match what is in Google Cloud Console. Go back to your OAuth client in Google Cloud, copy both values fresh, and re-enter them in n8n. Watch for accidental spaces when pasting.
help me fix an invalid_client error in n8n Google credentials
Your platforms are connected and ready. Next up, you will create the Google Sheets lead tracker that your workflow will populate automatically.
Create the Lead Tracker Spreadsheet and Prepare Google Drive
Your n8n Cloud account is live, your Google APIs are enabled, and all four credentials are connected. The plumbing is done.
Now you need somewhere for your automation to store data. Every prospect that Skyler submits needs a row in a spreadsheet and a folder full of research documents. In this step, you will create both the Google Sheets lead tracker and the Google Drive folder structure that the workflow will populate automatically.
In this step, get ready to:
- Create a Google Sheets spreadsheet with columns for prospect details and document links.
- Create a Google Drive parent folder for all prospect subfolders.
- Verify the spreadsheet structure with sample data.
Create the lead tracker spreadsheet
The lead tracker is the central record of every prospect Main Street Web Co. processes. Each row will hold the business details Skyler submits plus links to the documents your workflow generates.
- Open Google Sheets in your browser by navigating to sheets.google.com.
- Click the Blank spreadsheet tile (the large + icon) to create a new spreadsheet.
- Click the spreadsheet title in the top-left corner (it defaults to "Untitled spreadsheet").
- Replace the title with Main Street Web Co - Lead Tracker and press Enter.
Now add the column headers that define what data each prospect row will hold.
- Click cell A1 and type Business Name.
- Press Tab to move to B1 and type Contact Name.
- Continue pressing Tab and typing each remaining header in order: Email, Phone, Website, Services Needed, Date Added, Status, Drive Folder Link, Research Report Link, Strategy Report Link.
Why so many columns?
The first eight columns capture the prospect's details and status. The last three columns will be filled automatically by your n8n workflow with clickable links to the Google Drive folder, the Business Research Report, and the Website Strategy Report.
Setting these up now means the automation has a known destination for every piece of data it generates.
- Verify that row 1 contains exactly 11 headers from A1 through K1.
Headers spilling into wrong cells?
If a header landed in the wrong column, click the cell and retype it. Make sure you are pressing Tab (not Enter) to move right. Enter moves you down to the next row instead.
help me fix my spreadsheet column headers
Create the prospects folder in Google Drive
Each prospect your workflow processes will get its own subfolder. You need a single parent folder to keep them all organized in one place.
- Open Google Drive in a new tab by navigating to drive.google.com.
- Click + New in the top-left corner.
- Select New folder from the dropdown menu.
- Type Main Street Web Co - Prospects as the folder name.
- Click Create.
You should see the new folder appear in your Drive file list. Double-click it to confirm it opens to an empty folder.
Why a parent folder?
When your workflow creates a subfolder for each prospect (like "Summit Roofing Co."), it will place that subfolder inside this parent. Without a dedicated parent folder, prospect folders would scatter across the top level of your Drive and become impossible to manage.
Don't see the folder?
Make sure you are looking at My Drive (not Shared with me or a subfolder). Click My Drive in the left sidebar to return to the top level.
help me find my Google Drive folder
Test the spreadsheet with sample data
Adding a sample row confirms that your column structure works and helps you visualize what a completed prospect record looks like.
- Switch back to your Lead Tracker spreadsheet tab.
- Click cell A2 (the first row below your headers).
- Type Test Business and press Tab.
- Type Test Person and press Tab.
- Type test@example.com in the Email column and press Tab.
- Leave the remaining cells empty for now. This is enough to confirm data flows into the right columns.
You should see your three values sitting neatly under the correct headers (Business Name, Contact Name, Email).
- Now select the entire row 2 by clicking the row number 2 on the left edge of the sheet.
- Right-click and select Delete row.
Your spreadsheet is now back to headers only, ready for the automation to populate.
Keep this tab open
You will return to this spreadsheet frequently to verify that your n8n workflow is writing data correctly. Keep it in a browser tab alongside your n8n editor.
Your data destinations are locked in. Next up, you will build the n8n form that captures prospect submissions and automatically logs them into this spreadsheet.
Build the Form Trigger and Log to Google Sheets
Your spreadsheet and Google Drive folder are ready to receive data. Now you need a way to actually collect prospect information and write it into the tracker automatically.
In this step, you will create the front door of your automation: a form that Skyler fills out when she identifies a new prospect. When the form is submitted, the workflow will immediately log the details into your Lead Tracker spreadsheet.
In this step, get ready to:
- Create a new workflow and configure an n8n Form Trigger node with all prospect fields.
- Add a Google Sheets node that appends the form data as a new row in your Lead Tracker.
- Test the full flow with sample data and verify the row appears in Google Sheets.
Create the n8n Form Trigger node
The n8n Form Trigger node generates a hosted web form and starts your workflow whenever someone submits it. You will configure this form with the fields Skyler needs to fill out for each new prospect.
- In your n8n editor, click the + button on the canvas to create a new workflow.
- Click Add first step on the empty canvas.
- Search for n8n Form Trigger and select it.
- In the node panel, set the Form Title to New Business Prospect Intake.
- Scroll down to Form Path and enter prospect-intake.
- Under Form Elements, click Add Form Element to add your first field.
Add each of the following form fields one at a time, clicking Add Form Element for each new field:
- Element Type: Text. Label: Business Name. Toggle Required on.
- Element Type: Text. Label: Contact Name. Toggle Required on.
- Element Type: Email. Label: Email. Toggle Required on.
- Element Type: Text. Label: Phone. Leave Required off.
- Element Type: Text. Label: Current Website. Leave Required off.
- Element Type: Dropdown. Label: Services Needed. Add these options: Website Build, SEO Services, Maintenance, AI/Workflow Automation.
- Element Type: Textarea. Label: Notes. Leave Required off.
What is a Form Trigger?
The n8n Form Trigger generates a hosted web form at a unique URL. When someone submits the form, n8n starts the workflow and passes all the field values as data to the next node.
The Form Path replaces the auto-generated UUID in the form URL, making it readable and shareable. Setting it to prospect-intake gives you a clean URL like https://your-instance.n8n.cloud/form/prospect-intake.
Test URL vs Production URL
The Form Trigger node has two URLs: Test URL and Production URL. The Test URL only works when you click Execute Workflow in the editor. The Production URL becomes active once you publish the workflow.
For now, you will use the Test URL to run your workflow in the editor and see the data appear in real time.
Add the Google Sheets node to log form submissions
Every time the form is submitted, you want that prospect's details written directly into the Lead Tracker. The Google Sheets node handles this by appending a new row to your spreadsheet.
- Click the + connector on the right side of the Form Trigger node to add a new node after it.
- Search for Google Sheets and select it.
- In the Credential to connect with dropdown, select the Google Sheets credential you set up earlier.
- Set Resource to Sheet Within Document.
- Set Operation to Append Row.
- In Document, select your Main Street Web Co - Lead Tracker spreadsheet.
- In Sheet, select the default sheet (usually Sheet1).
- Set Mapping Column Mode to Map Each Column Manually.
Now map each column to its corresponding value. For each column that appears, click into the value field, switch to Expression mode, and enter:
- Business Name: {{ $json["Business Name"] }}
- Contact Name: {{ $json["Contact Name"] }}
- Email: {{ $json["Email"] }}
- Phone: {{ $json["Phone"] }}
- Website: {{ $json["Current Website"] }}
- Services Needed: {{ $json["Services Needed"] }}
- Date Added: {{ $now.format('yyyy-MM-dd') }}
- Status: switch to Fixed mode and type New.
What are expressions in n8n?
Expressions use the {{ }} syntax to dynamically pull values from earlier nodes. Here, $json["Business Name"] grabs the Business Name that was submitted through the form.
The $now.format('yyyy-MM-dd') expression generates today's date in a clean format like 2026-06-06. This ensures every row gets a consistent timestamp.
- Leave the Drive Folder Link, Research Report Link, and Strategy Report Link columns empty for now. You will populate these in a later step.
Leave link columns blank
The last three columns will be filled in by a later step when you create the Drive folder and Google Docs. Leaving them unmapped here is correct.
Don't see your spreadsheet columns?
Make sure you selected the correct spreadsheet and sheet. If columns still don't appear, re-select the Mapping Column Mode dropdown. This forces n8n to re-fetch the column names from Google Sheets.
Also confirm that your Google Sheets credential is properly connected by checking for a green checkmark next to the credential name.
Still stuck? Help me troubleshoot why my Google Sheets columns aren't loading in n8n.
Test the workflow with sample data
With both nodes connected, you can run the full workflow to confirm that form submissions land in the spreadsheet.
- Click Execute Workflow in the top-right corner of the n8n editor.
- n8n will open the Form Trigger's Test URL in a new browser tab showing your form.
- Fill out the form with the following sample data:
- Business Name: Summit Roofing Co.
- Contact Name: Mike Torres
- Email: mike@summitroofing.com
- Phone: leave blank.
- Current Website: leave blank.
- Services Needed: select Website Build.
- Notes: leave blank.
- Click Submit on the form.
- Return to the n8n editor tab. You should see green checkmarks on both the Form Trigger and Google Sheets nodes indicating success.
- Open your Main Street Web Co - Lead Tracker spreadsheet in Google Sheets.
- Verify that a new row appears with Summit Roofing Co., Mike Torres, mike@summitroofing.com, today's date in the Date Added column, and New in the Status column.
Form submitted but no row in Google Sheets?
Click on the Google Sheets node in the editor to inspect its output. If you see a red error, check that the column names in your expressions match the exact column headers in your spreadsheet.
Common causes: a typo in the expression (e.g., Business name instead of Business Name), or selecting the wrong spreadsheet in the Document field.
Need more help? Help me debug why my Google Sheets Append Row node isn't writing data.
Your intake form is live and logging directly to Google Sheets. Next up, you will build the automation that creates a dedicated Google Drive folder and documents for each prospect.
Create the Google Drive Folder and Google Docs
Your workflow now logs every prospect into Google Sheets automatically. The next challenge is organizing each prospect's research materials so the team can find them instantly.
In this step, you'll add nodes that create a dedicated Google Drive folder for each prospect and generate two Google Docs inside it. This gives every new lead a tidy home for research before anyone lifts a finger.
In this step, get ready to:
- Add a Google Drive node that creates a folder named after the prospect.
- Add two Google Docs nodes that generate a Business Research Report and a Website Strategy Report inside that folder.
- Test the full workflow and confirm the folder and documents appear in Google Drive.
Add the Google Drive Create Folder node
Each prospect needs its own folder inside the parent "Main Street Web Co - Prospects" folder you created earlier. The Google Drive node will dynamically name this subfolder using the prospect's business name from the form submission.
- In your n8n workflow editor, click the + button on the right edge of your Google Sheets node to add a new node.
- Search for Google Drive and select it.
- Set Credential to connect with to your Google Drive credential.
- Set Resource to Folder.
- Set Operation to Create.
- In the Folder Name field, click the Expression tab (the toggle next to the input field) and enter this expression:
{{ $('n8n Form Trigger').item.json["Business Name"] }}
- For Parent Drive, select From list and choose My Drive.
- For Parent Folder, select From list and navigate to and select Main Street Web Co - Prospects.
What does this node do?
This node creates a new subfolder inside your "Main Street Web Co - Prospects" folder every time the workflow runs. The folder name is pulled dynamically from the form submission's Business Name field.
The expression $('n8n Form Trigger') reaches back to the Form Trigger node's output to grab the business name. This means every prospect automatically gets their own organized folder.
Don't see your Prospects folder in the list?
Make sure you created the "Main Street Web Co - Prospects" folder in Google Drive during Step 2. If the folder exists but doesn't appear in the dropdown, try clicking the refresh icon next to the folder list to reload your Drive contents.
help me find my Google Drive folder in the n8n node dropdown
Add the Google Docs nodes for both reports
Each prospect folder needs two documents: a Business Research Report and a Website Strategy Report. You'll use the Google Docs node's Create operation and place each document inside the folder the Drive node just created.
- Click the + button on the right edge of your Google Drive node to add a new node.
- Search for Google Docs and select it.
- Set Credential to connect with to your Google Docs credential.
- Set Operation to Create.
- In the Title field, click the Expression tab and enter this expression:
{{ $('n8n Form Trigger').item.json["Business Name"] }} - Business Research Report
- Scroll down to Options and click Add Option.
- Select Folder ID.
- Click the Expression tab on the Folder ID field and enter this expression:
{{ $('Google Drive').item.json.id }}
Why reference the Google Drive node's output?
When the Google Drive node creates a folder, it outputs the new folder's unique ID in its json.id field. By passing that ID into the Google Docs node's Folder ID option, you tell Google Docs exactly where to save the new document.
This is how n8n passes data between nodes. Each node can reference the output of any earlier node using expressions.
Now duplicate this node for the second report.
- Right-click the Google Docs node you just configured and select Duplicate.
- Open the duplicated node.
- Change the Title expression to:
{{ $('n8n Form Trigger').item.json["Business Name"] }} - Website Strategy Report
- Confirm the Folder ID expression is still set to {{ $('Google Drive').item.json.id }} (it should carry over from the duplicate).
- Connect both Google Docs nodes to the output of the Google Drive node. The two Docs nodes should run in parallel from the same Drive node output.
Naming your nodes
Consider renaming the two Google Docs nodes to "Business Research Report" and "Website Strategy Report" by double-clicking their titles on the canvas. This makes your workflow easier to read as it grows.
Seeing a credential error on the duplicated node?
When you duplicate a node, the credential should copy over. If you see a credential warning, click Credential to connect with and re-select your Google Docs credential from the dropdown.
help me fix a credential error on my duplicated Google Docs node in n8n
Test the workflow end-to-end
Time to run the entire workflow and confirm that the folder and documents land in the right place.
- Click Execute Workflow in the top-right corner of the n8n editor.
- n8n opens the form in a new browser tab. Fill it out with the following sample data:
- Business Name: Summit Roofing Co.
- Contact Name: Mike Torres
- Email: mike@summitroofing.com
- Services Needed: Website Build
- Submit the form and switch back to the n8n editor tab.
- Wait for all nodes to show green checkmarks indicating successful execution.
- Open Google Drive and navigate to your Main Street Web Co - Prospects folder.
- Verify that a subfolder named Summit Roofing Co. exists.
- Open the Summit Roofing Co. folder and confirm it contains two documents: Summit Roofing Co. - Business Research Report and Summit Roofing Co. - Website Strategy Report.
What should I see?
In Google Drive, you should see a new folder called "Summit Roofing Co." inside your Prospects folder. Inside that folder are two blank Google Docs with the correct names. The documents are empty for now. In a later step, the Secret Mission adds AI-generated content to the Business Research Report.
Folder or documents not appearing?
Click each node in the n8n editor to inspect its output. If the Google Drive node shows an error, check that you selected the correct Parent Folder. If the Google Docs nodes failed, verify the Folder ID expression points to $('Google Drive').item.json.id with the correct single quotes around the node name.
Also confirm you're looking at the right Google account. The documents are created under whichever Google account you authorized in your n8n credentials.
help me debug why my Google Drive folder or Google Docs aren't appearing after running the n8n workflow
Your workflow now creates organized folders and documents for every prospect automatically. Next up, you'll wire those document links back into your Google Sheets tracker so the team always knows where to find them.
Update Google Sheets with Document Links
Your workflow creates a Drive folder and two Google Docs for every new prospect. The problem is that your Lead Tracker spreadsheet has no idea those documents exist.
In this step, you will wire the document URLs back into Google Sheets so the team can click directly from the spreadsheet to any prospect's files.
In this step, get ready to:
- Consolidate document URLs into a single data payload using an Edit Fields (Set) node.
- Update the existing Google Sheets row with clickable links to the Drive folder and both reports.
- Test the full workflow and confirm all link columns are populated.
Add an Edit Fields (Set) node to consolidate URLs
Right now, the URLs you need live in the output of three different nodes. The Google Sheets Update Row node expects all its data in one clean input. You need a node that gathers the URLs from those separate outputs into a single item.
- Return to your n8n workflow canvas.
- Click the + button on the output of your second Google Docs node (the Website Strategy Report node).
- Search for Edit Fields and select the Edit Fields (Set) node.
- Leave the Mode set to Manual Mapping.
- Under Fields to Set, click Add Field three times to create three field rows.
Configure each field with a name and an expression value that pulls data from the correct earlier node.
- For the first field, set the Name to Drive Folder Link and set the Value to the following expression:
- For the second field, set the Name to Research Report Link and set the Value to:
- For the third field, set the Name to Strategy Report Link and set the Value to:
Here are the three expressions. Enter each one in its corresponding field's Value input (click the expression toggle if it shows Fixed):
Drive Folder Link:
{{ $('Google Drive').item.json.webViewLink }}
Research Report Link:
{{ $('Google Docs').item.json.webViewLink }}
Strategy Report Link:
{{ $('Google Docs1').item.json.webViewLink }}
- Also add a fourth field with the Name Business Name and the Value expression:
{{ $('n8n Form Trigger').item.json['Business Name'] }}
What do these expressions do?
Each expression uses the $('Node Name').item.json syntax to reach back into a previous node's output and grab a specific field.
The webViewLink field is the shareable URL that Google returns when it creates a folder or document. The Business Name field is included so the next node can match the correct row in your spreadsheet.
Why is the second Google Docs node called Google Docs1?
When you add a duplicate node type in n8n, the platform automatically appends a number to the name. Your first Google Docs node keeps the name Google Docs and the second becomes Google Docs1. You can confirm by checking the node name displayed in the top-left corner of each node on the canvas.
Add a Google Sheets Update Row node
Now you have a single data item containing the Business Name and all three URLs. The next node will find the matching row in your Lead Tracker and write the links into the correct columns.
- Click the + button on the output of the Edit Fields (Set) node.
- Search for Google Sheets and select the Google Sheets node.
- Set Resource to Sheet Within Document.
- Set Operation to Update Row.
- Under Document, select your Main Street Web Co - Lead Tracker spreadsheet.
- Under Sheet, select Sheet1 (or whatever your sheet tab is named).
- Set Mapping Column Mode to Map Each Column Manually.
- Set Column to Match On to Business Name.
- In the Business Name value field, switch to Expression mode and enter:
{{ $json['Business Name'] }}
- Map the Drive Folder Link column to the expression:
{{ $json['Drive Folder Link'] }}
- Map the Research Report Link column to the expression:
{{ $json['Research Report Link'] }}
- Map the Strategy Report Link column to the expression:
{{ $json['Strategy Report Link'] }}
How does Column to Match On work?
The Update Row operation searches your spreadsheet for a row where the Business Name column matches the incoming value. Once it finds the row, it overwrites only the columns you mapped with new values. Every other column stays untouched.
This is why the Edit Fields node includes Business Name alongside the URLs. Without it, the Update Row node would not know which row to target.
Not seeing your spreadsheet columns?
If the column list is empty or outdated, re-select Mapping Column Mode to force n8n to re-fetch the column names from your spreadsheet.
Make sure the column headers in your Google Sheet match exactly what you set in Step 2 (Drive Folder Link, Research Report Link, Strategy Report Link).
Help me troubleshoot my Google Sheets Update Row node.
Test the full workflow and verify the links
Time to run the entire workflow one more time and confirm that your spreadsheet gets updated with real, clickable URLs.
- Click Execute Workflow in the top-right area of the canvas.
- Fill out the form with your Summit Roofing Co. test data (Business Name: Summit Roofing Co., Contact: Mike Torres, Email: mike@summitroofing.com, Services Needed: Website Build).
- Submit the form and wait for all nodes to show green checkmarks.
- Open your Main Street Web Co - Lead Tracker spreadsheet in Google Sheets.
- Find the row for Summit Roofing Co. and check the Drive Folder Link, Research Report Link, and Strategy Report Link columns.
Each of those three cells should now contain a clickable URL. Click any of them to confirm it opens the correct Google Drive folder or Google Doc.
Links not appearing in your spreadsheet?
Double-check that your Edit Fields node is using Expression mode (not Fixed) for each value. If you entered the expression as plain text, n8n will write the literal characters instead of resolving the URL.
Confirm that the Business Name value in your form submission matches the existing row exactly, including capitalisation and spacing. If there is a mismatch, the Update Row node cannot find the row to update.
Click on the Edit Fields node and check its output panel. You should see three URL fields and a Business Name field. If any are empty, the expression is referencing the wrong node name.
Help me debug why my Google Sheets links are not being updated.
Your Lead Tracker is now a live dashboard. Every new prospect submission automatically logs itself and links out to the research materials. Next up, you will close the loop by sending the team an email notification whenever a new prospect is processed.
Send Email Notifications
Your workflow now creates folders, generates documents, and updates the lead tracker with clickable links. The last piece of the puzzle is keeping the team in the loop.
In this step, you will add a Gmail node that sends a formatted notification email to both Donovan and Skyler whenever a new prospect is processed. The email will include the prospect's details and direct links to every resource the workflow created.
In this step, get ready to:
- Add a Gmail Send node and configure the recipients and subject line.
- Compose an HTML email body with prospect details and document links.
- Test the complete workflow end-to-end with a fresh form submission.
Add the Gmail node and configure recipients
The Gmail node uses the OAuth credential you already set up in Step 1. You will configure it to send to both team members in a single email.
- In your n8n workflow editor, click the + button on the right edge of the Google Sheets Update Row node (Node 7) to add a new node after it.
- Search for Gmail in the node search panel and select it.
- Set Credential to connect with to your existing Gmail OAuth credential.
- Confirm Resource is set to Message.
- Set Operation to Send.
- In the To field, enter both team email addresses separated by a comma (for example, donovan@example.com, skyler@example.com). Use your own email addresses for testing.
- In the Subject field, click the Expression toggle (the gear icon) and enter the following expression:
New Prospect Added: {{ $('n8n Form Trigger').item.json['Business Name'] }}
What does this expression do?
The expression {{ $('n8n Form Trigger').item.json['Business Name'] }} reaches back to the Form Trigger node and pulls the Business Name the user submitted. This means every notification email has a unique, descriptive subject line.
Compose the HTML email body
An HTML email lets you format the notification with headings, bold labels, and clickable links. This makes it easy for the team to scan the prospect's details at a glance.
- Set Email Type to HTML.
- In the Message field, click the Expression toggle and paste the following HTML body:
<h2>New Prospect: {{ $('n8n Form Trigger').item.json['Business Name'] }}</h2>
<p><strong>Contact:</strong> {{ $('n8n Form Trigger').item.json['Contact Name'] }}</p>
<p><strong>Email:</strong> {{ $('n8n Form Trigger').item.json['Email'] }}</p>
<p><strong>Phone:</strong> {{ $('n8n Form Trigger').item.json['Phone'] }}</p>
<p><strong>Current Website:</strong> {{ $('n8n Form Trigger').item.json['Current Website'] }}</p>
<p><strong>Services Needed:</strong> {{ $('n8n Form Trigger').item.json['Services Needed'] }}</p>
<hr>
<p><strong>Drive Folder:</strong> <a href="{{ $('Edit Fields').item.json['Drive Folder URL'] }}">Open Folder</a></p>
<p><strong>Business Research Report:</strong> <a href="{{ $('Edit Fields').item.json['Research Report URL'] }}">Open Report</a></p>
<p><strong>Website Strategy Report:</strong> <a href="{{ $('Edit Fields').item.json['Strategy Report URL'] }}">Open Report</a></p>
What does this email body do?
The HTML uses expressions to pull data from two different nodes. The prospect's personal details come from the n8n Form Trigger node. The document links come from the Edit Fields node where you consolidated all the URLs in the previous step.
Each link is wrapped in an <a> tag so recipients can click directly to the folder or report without searching their Drive.
Remove the n8n attribution
By default, n8n appends "This email was sent automatically with n8n" to the bottom of every sent email. To remove it, scroll down to Options, click Add option, select Append n8n attribution, and turn the toggle off.
Test the full workflow end-to-end
This is the final test of your complete 8-node workflow. You will submit a fresh form entry and confirm every step executes successfully, including the email arriving in your inbox.
- Click Execute Workflow in the n8n editor to activate the test webhook.
- Open the test form URL in a new browser tab.
- Fill out the form with a new prospect. Use a different business name than previous tests (for example, Business Name: Coastal Cafe, Contact Name: Ava Chen, Email: ava@coastalcafe.com, Services Needed: SEO Services).
- Submit the form and return to the n8n editor.
- Confirm all 8 nodes show green checkmarks indicating successful execution.
- Check your email inbox. You should see a notification with the subject "New Prospect Added: Coastal Cafe" containing all the prospect details and clickable document links.
- Open your Google Sheets lead tracker and confirm the new row for "Coastal Cafe" has all columns populated, including the Drive Folder Link, Research Report Link, and Strategy Report Link.
- Open Google Drive and confirm a "Coastal Cafe" folder exists inside Main Street Web Co - Prospects with both report documents.
What should I see?
Your workflow canvas should show 8 connected nodes from left to right, all with green success indicators. Your inbox should contain a nicely formatted HTML email with the business name in the subject line, all contact details in the body, and three clickable links to the Drive folder and both reports.
Email not arriving?
Check that the Gmail node shows a green checkmark in the execution results. If it shows red, click on the node to see the error details. Common causes include an expired OAuth token (reconnect the credential) or a typo in the email address in the To field.
If the node shows green but the email is missing, check your spam folder. Automated emails sometimes get flagged by email providers.
Help me debug why my Gmail node isn't sending emails in n8n.
Secret mission
Add AI Research and Human Approval
Your workflow handles the basics, but what if you could make it smarter and safer? In this secret mission, you will add an AI-powered Business Research Report that writes itself using OpenAI, plus a human-in-the-loop approval step where Donovan or Skyler must approve a prospect before any folders or documents get created.
Clean Up Your Resources
Clean Up Your Resources
Decide whether to keep your resources running, pause them to come back later, or delete them entirely. Your n8n Cloud trial lasts 14 days with no credit card required, so there is no risk of unexpected charges from n8n itself.
Cost warning
If you completed the Secret Mission and configured an OpenAI API key, that key remains active and can incur charges if used in other projects or workflows. Revoke it from the OpenAI platform if you do not plan to use it again.
Resources you used:
- n8n Cloud workflow (prospect intake automation with 10+ nodes).
- n8n credentials (Google Sheets, Google Drive, Google Docs, Gmail, OpenAI).
- Google Cloud Project (with enabled APIs and OAuth 2.0 client credentials).
- Google Sheets: "Main Street Web Co - Lead Tracker" spreadsheet.
- Google Drive: "Main Street Web Co - Prospects" folder and all subfolders and documents.
- OpenAI API key (if you completed the Secret Mission).
Keep everything running
No action needed. Choose this if you are still actively building or want to experiment further with your workflow during the 14-day trial.
- Your n8n Cloud trial will remain active for 14 days from signup. No credit card is required, so it will not auto-charge you.
- Your Google Cloud Project, spreadsheet, and Drive folder will persist in your Google account at no cost.
- Your OpenAI API key remains active. Monitor usage at platform.openai.com if you want to track any charges.
Pause - I'll come back to this later
Deactivate running processes to avoid unintended executions, but keep all files and configurations intact so you can resume later.
- In n8n, open your prospect intake workflow. Toggle the workflow from Active to Inactive using the toggle in the top-right corner of the editor. This prevents new form submissions from triggering executions.
- If you completed the Secret Mission, go to platform.openai.com, navigate to your API keys, and revoke the key you created for this project. You can generate a new one later if needed.
- Leave your Google Cloud Project, spreadsheet, and Drive folder as they are. They do not incur charges while idle.
Delete - I don't want to use this again
Remove all project resources and start fresh. Follow each item below to fully clean up.
- Delete the n8n workflow: In your n8n editor, go back to the workflow list. Click the three-dot menu on your prospect intake workflow and select the delete option. Confirm the deletion.
- Delete n8n credentials: In n8n, open the left sidebar and go to the Credentials section. Delete each credential you created (Google Sheets, Google Drive, Google Docs, Gmail, and OpenAI) one by one.
- Delete the Google Cloud Project: Go to console.cloud.google.com. Open the navigation menu, then go to IAM & Admin, then Manage Resources. Select the project you created for this workflow and click the delete button. Confirm by entering the project ID when prompted.
- Delete the Google Sheets spreadsheet: Open Google Drive at drive.google.com. Find "Main Street Web Co - Lead Tracker", right-click it, and move it to the trash.
- Delete the Google Drive folder: In Google Drive, find the "Main Street Web Co - Prospects" folder, right-click it, and move it to the trash. This removes all subfolders and Google Docs inside it.
- Revoke the OpenAI API key (if you completed the Secret Mission): Go to platform.openai.com, navigate to your API keys page, find the key you used for this project, and delete it.
- Empty your Google Drive trash to permanently remove the spreadsheet and folder. In Google Drive, open the Trash section in the left sidebar and select the option to empty it.
Nice Work!
Nice Work!
You just built a production-ready prospect intake automation system for Main Street Web Co. From a single form submission, your workflow now handles everything: logging leads, creating folders and documents, updating your tracker, and notifying the team.
You've learned how to:
- Built a complete prospect intake workflow with 10+ connected n8n nodes, mastering triggers, credentials, expressions, and cross-node data mapping.
- Created a self-populating Google Sheets lead tracker that automatically updates with links to generated prospect documents.
- Automated Google Drive folder creation and Google Docs report generation per prospect, with Gmail notifications to keep the team informed.
- Added AI-powered research report generation using OpenAI and a human-in-the-loop approval step so the team can approve or decline prospects before the workflow continues.
Ready to quiz yourself?