1. Opening Problem Statement
Meet Sarah, a sales manager at a fast-growing tech startup. Every week, she receives dozens of new leads via CSV files. To convert these leads into clients, Sarah needs to create tailored sales presentations highlighting each lead’s company details and unique data. However, manually copying and updating presentation templates for each lead consumes hours of her time, often leading to errors like outdated info or mismatched contacts. The consequences are lost client interest and missed revenue opportunities.
This is exactly the problem Sarah faces every week. How can she generate personalized presentations efficiently for each new lead, without the repetitive manual work?
2. What This Automation Does
This step-by-step n8n workflow automatically creates custom Google Slides presentations from new leads uploaded as CSV files to Google Drive. When a new lead CSV file appears in a specific folder, the automation triggers and performs these actions:
- Detects new CSV or Excel files in a designated Google Drive folder.
- Downloads the file and extracts lead data like names, companies, emails, and keywords.
- Creates a new Google Sheets spreadsheet to store and merge the lead data.
- Duplicates a master Google Slides presentation template and renames it for each lead.
- Replaces placeholder text in the copied presentation with actual lead details (e.g., company name, first name).
- Logs the presentation ID back to the lead list in Google Sheets and moves files into organized folders.
With this workflow, Sarah saves hours each week, eliminating manual errors and providing timely, personalized presentations to prospects — boosting her chances of closing deals faster.
3. Prerequisites ⚙️
- Google Drive account with OAuth2 credentials configured in n8n 🔐
- Google Sheets account with OAuth2 credentials 🔐
- Google Slides account with OAuth2 credentials 🔐
- n8n automation platform account (cloud or self-hosted) ⏱️ (Consider self-hosting for more control)
- Folder in Google Drive to monitor for new lead files (CSV or XLSX)
- A master Google Slides presentation template stored in Google Drive
4. Step-by-Step Guide
Step 1: Set Up Google Drive Folder Trigger for New Leads
In n8n, add a Google Drive Trigger node named “New Leads Arrived”. Configure it to watch a specific folder in your Google Drive where new lead CSV or Excel files will be uploaded. Set polling to “every minute” for timely detection.
Once a new file is detected here, the workflow kicks off automatically.
Common Mistake: Forgetting to select the correct folder or misconfiguring poll interval can delay or block triggering.
Step 2: Identify File Type with Switch Node
Use the Switch node called “File Type?” to check the MIME type of the incoming file. Configure it with these rules:
- CSV: MIME type equals
text/csv - XLSX: MIME type equals
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
This ensures the workflow handles supported file formats correctly.
Expected Outcome: Files routed to appropriate downstream nodes based on their type.
Step 3: Download the Lead File by ID
Add a Google Drive node named “Download by ID” to download the detected file. Use the expression {{$json.id}} to dynamically fetch the file based on the trigger’s output.
This pulls the lead data file into the workflow for processing.
Step 4: Extract Lead Data from CSV
Connect to an Extract from File node called “Extract Information from CSV file”. Set encoding to UTF-8 and delimiter to comma. Enable “header row” to parse columns like First Name, Email, Company, Keywords, etc.
This converts the raw file into structured JSON data for later use.
Step 5: Create New Google Sheet to Store Leads
Insert a Google Sheets node named “Create new Sheet”. Configure to create a new spreadsheet titled like Leads_{{current_date}} dynamically using {{$now.setZone('Europe/Berlin').toFormat('yyyy-dd-MM')}}.
The new spreadsheet will hold the merged lead data for further processing.
Step 6: Combine Empty New Sheet with CSV Data
Use a Merge node called “Combine Empty New Document with CSV Data”. Set the mode to “choose branch” with data from the CSV extraction and the new sheet data.
This step effectively maps CSV lead rows into the newly created Google Sheet.
Step 7: Append Lead Data to New Sheet
Add a Google Sheets node named “Merge Data for new Lead Document” set to append data. The node is configured for auto-mapping CSV columns to the sheet.
This populates the new lead spreadsheet with all lead details.
Step 8: Retrieve All Leads from the New Sheet
Insert another Google Sheets node called “Get all Leads” to read all rows from the created sheet, enabling iteration for presentation creation.
Step 9: Move the Lead List Spreadsheet to Lead Folder
Use a Google Drive node named “MoveToLeadListFolder” to organize the lead list file inside a specific Google Drive folder dedicated to leads.
Step 10: Duplicate Google Slides Template
Add a Google Drive node named “Copy Presentation Template”. Configure it to copy your master presentation, renaming it with the lead’s company name and current date, then place it in the “Custom Presentations” folder.
Step 11: Personalize Each Copied Presentation
Use a Google Slides node called “Create Custom Presentation” to replace placeholders like {COMPANYNAME} or {First Name} with actual lead details.
For example, replacing {COMPANYNAME} with the lead’s company name dynamically.
Step 12: Log Presentation ID Back in Lead Sheet
Add a Google Sheets node “Add Presentation ID to Lead List” to update the lead’s row with the new presentation ID, helping track which presentations have been created.
Step 13: Workflow Summary and Notes
Sticky Notes in the workflow titled “Duplicate Template and Create Custom Presentations” and “Create New Google Sheets and Insert Data from CSV file” serve as helpful annotations explaining key workflow parts.
5. Customizations ✏️
- Change Template Presentation: In the “Copy Presentation Template” node, replace the
fileIdwith your own master Google Slides template ID to customize content and branding. - Add More Placeholder Replacements: Extend the “Create Custom Presentation” node’s text replacements to add more fields like Email, Title, or Industry for richer personalization.
- Support Additional File Types: Add new conditions in the “File Type?” switch node to handle other spreadsheet formats like XLS or ODS.
- Adjust Folder Organization: Change “MoveToLeadListFolder” node’s
folderIdto reorganize lead list spreadsheets into different folders as your drive structure evolves. - Change Sheet Naming Convention: In “Create new Sheet,” modify the title pattern to match your preferred date/time or naming style.
6. Troubleshooting 🔧
Problem: “Google Drive Trigger doesn’t detect new files.”
Cause: Folder ID is incorrect or insufficient permissions.
Solution: Verify folder ID in “New Leads Arrived” node, and ensure n8n OAuth credentials have read permissions.
Problem: “Presentation text replacements don’t happen.”
Cause: Placeholder tags mismatch between template and Google Slides node.
Solution: Make sure placeholders like {COMPANYNAME} exactly match the template text fields.
Problem: “Sheet update fails with ‘Not Found’ error.”
Cause: Using wrong Sheet ID or sheet name.
Solution: Confirm spreadsheet and sheet IDs from the “Create new Sheet” node outputs and use those with expressions.
7. Pre-Production Checklist ✅
- Confirm Google OAuth2 credentials for Drive, Sheets, and Slides are accurate and authorized.
- Have your master Google Slides template created with clear placeholders like
{COMPANYNAME}. - Create and confirm a folder for new lead CSV files and a folder for generated presentations.
- Test the workflow manually by uploading sample CSV files to the Google Drive folder.
- Check that newly created Google Sheets have the correct lead data appended.
- Ensure presentations are copied, renamed, and placeholders replaced correctly.
- Monitor logs in n8n for errors and fix node-specific issues.
8. Deployment Guide
Activate the workflow in your n8n instance by toggling it on. Monitor executions during initial runs to ensure all nodes execute correctly with no errors.
Since it runs on file creation triggers, new files will automatically start processing without manual intervention.
Regularly review logs and Google Drive folder organization to maintain performance and avoid clutter.
9. FAQs
Q: Can I use a different presentation tool instead of Google Slides?
A: This workflow is specifically designed with Google Slides API nodes. Using other tools would require node replacements or API integrations.
Q: Does this workflow consume Google API quota?
A: Yes, each Google Sheets, Drive, and Slides API call counts towards your Google API usage limits.
Q: Is it secure to store lead data and presentations in Google Drive?
A: The workflow uses OAuth2 credentials and Google Drive’s security model. Ensure your accounts have strong passwords and 2FA enabled.
10. Conclusion
By following this guide, you’ve built a powerful automation that takes raw lead data files and turns them into tailored presentations automatically. This saves Sarah—and you—hours every week, reduces human error, and impresses potential clients with timely, personal outreach.
Next, consider automating email outreach to send these presentations directly, or integrating CRM updates with each new lead. With n8n’s extensibility, the possibilities are extensive and exciting.
Enjoy your automation journey!