

How to Import Leads from Google Sheets to Salesforce with Zapier
Automatically create or update Salesforce leads whenever new rows are added to your Google Sheets contact import spreadsheet.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Sales teams importing 50-500 leads monthly from web forms, events, or purchased lists without technical resources
Not ideal for
High-volume imports over 1,000 leads/month or teams needing real-time lead creation under 5 minutes
Sync type
pollingUse case type
importReal-World Example
A 12-person B2B software sales team uses this to import trade show leads from their booth iPad into Salesforce. Before automation, the marketing coordinator manually copied 50-80 leads every Monday, taking 2 hours and introducing typos. Now leads flow automatically within 15 minutes of spreadsheet updates, and duplicate checking prevents multiple contacts for the same prospect.
What Will This Cost?
Drag the slider to your expected monthly volume.
Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.





Prices shown for annual billing. Based on published pricing as of April 2026.
Estimated ROI
1000
min saved/mo
$583
labor value/mo
Free
no platform cost
Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.
Implementation
Before You Start
Make sure you have everything ready.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Last Name | LastName | |
| Company | Company | |
6 optional fields▸ show
Email | |
| Phone | Phone |
| Title | Title |
| Lead Source | LeadSource |
| Website | Website |
| Status | Status |
Step-by-Step Setup
Create > Google Sheets > New Spreadsheet Row
Connect Google Sheets to Zapier
Add your Google account so Zapier can watch for new spreadsheet rows. You'll need owner or editor access to the sheet you want to monitor.
- 1Click 'Create Zap' from your Zapier dashboard
- 2Search for 'Google Sheets' and select it as your trigger app
- 3Choose 'New Spreadsheet Row' as the trigger event
- 4Click 'Sign in to Google Sheets' and authorize Zapier access
Trigger > Google Sheets Setup
Select Your Lead Import Spreadsheet
Choose the specific Google Sheets file and worksheet that contains your lead data. Zapier will monitor this sheet for new rows added at the bottom.
- 1Select your spreadsheet from the 'Spreadsheet' dropdown menu
- 2Choose the correct worksheet tab from the 'Worksheet' dropdown
- 3Leave 'Trigger Column' blank to monitor all new rows
- 4Click 'Continue' to proceed to the test step
Trigger > Test
Test the Google Sheets Trigger
Zapier pulls in a sample row from your spreadsheet to use for mapping. If your sheet is empty, add a test row with sample lead data first.
- 1Click 'Test trigger' to fetch sample data
- 2Review the sample row data in the preview panel
- 3Verify all your lead columns appear with correct values
- 4Click 'Continue with selected record' if the data looks right
Action > Salesforce > Create Record
Connect Salesforce to Zapier
Add your Salesforce account so Zapier can create new lead records. You'll need API access enabled on your Salesforce org.
- 1Click the + icon to add an action step
- 2Search for 'Salesforce' and select it as your action app
- 3Choose 'Create Record' as the action event
- 4Click 'Sign in to Salesforce' and enter your login credentials
Action > Salesforce Setup
Configure Lead Record Creation
Tell Salesforce to create Lead records specifically. This ensures your imported contacts go to the right object with the correct fields available.
- 1Select 'Lead' from the 'Record Type' dropdown
- 2Leave 'External ID Field' blank for new records only
- 3Keep 'Upsert Record' unchecked if you want to create duplicates
- 4Click 'Continue' to move to field mapping
Action > Salesforce Field Mapping
Map Required Lead Fields
Connect your spreadsheet columns to Salesforce lead fields. At minimum, you need Company and either Email or Last Name to create a valid lead.
- 1Map 'Last Name' to your spreadsheet's name column
- 2Map 'Company' to your company column from the sheet
- 3Map 'Email' to your email address column
- 4Map 'Phone' to your phone number column if available
Action > Salesforce Field Mapping
Map Optional Lead Fields
Add extra lead information like lead source, status, and custom fields. This data helps your sales team qualify and prioritize imported leads.
- 1Set 'Lead Source' to 'Web Import' or map to a spreadsheet column
- 2Map 'Title' to your job title column if you have one
- 3Map 'Website' to your company website column
- 4Set 'Status' to 'New' or your default lead status
Action > Test
Test Lead Creation
Create a test lead in Salesforce using your sample spreadsheet data. This verifies your field mapping works and the lead gets created properly.
- 1Click 'Test step' to create a sample lead
- 2Wait for the test to complete (usually 10-15 seconds)
- 3Click the Salesforce record link to view the created lead
- 4Verify all mapped fields populated correctly in Salesforce
Zap Settings > Error Handling
Configure Error Handling
Set up what happens when lead creation fails due to missing data or validation errors. Email notifications help you catch and fix import problems quickly.
- 1Click 'Settings' in the top right of the Zap editor
- 2Toggle 'Send Zap error emails' to On
- 3Add your email address to receive error notifications
- 4Set 'Autoreplay' to On to retry failed imports automatically
Zap Editor > Publish
Name and Activate Your Zap
Give your automation a clear name and turn it on. Once active, Zapier checks for new spreadsheet rows every 5-15 minutes depending on your plan.
- 1Click 'Publish' in the top right corner
- 2Name your Zap something like 'Import Leads from Google Sheets'
- 3Toggle the Zap status to 'On' to activate it
- 4Click 'Publish Zap' to save and start monitoring
Drop this into a Zapier Code step.
JavaScript — Code Step{{if(contains(1.Email, "gmail.com"), "Personal", "Business")}}▸ Show code
{{if(contains(1.Email, "gmail.com"), "Personal", "Business")}}... expand to see full code
{{if(contains(1.Email, "gmail.com"), "Personal", "Business")}}Scaling Beyond 500+ leads/month+ Records
If your volume exceeds 500+ leads/month records, apply these adjustments.
Switch to Make for batch processing
Make can process 100+ spreadsheet rows in a single operation using array functions. Zapier processes one row per task, burning through your task limit quickly at high volume.
Use Google Sheets API pagination
Large sheets with 1,000+ rows can timeout during Zapier's data fetch. Split your import sheet into monthly tabs with 500 rows max, or switch to Google Forms with Zapier webhooks for real-time processing.
Set up lead scoring automation
High lead volumes need qualification filters. Add a second Zap to score leads based on company size, title keywords, or email domain, then route qualified prospects to sales reps automatically.
Going live
Production Checklist
Before you turn this on for real, confirm each item.
Troubleshooting
Common errors and how to fix them.
Frequently Asked Questions
Common questions about this workflow.
Analysis
Use Zapier for this if your team doesn't code and you need a set-it-and-forget-it solution. The guided setup takes 15 minutes and handles field mapping visually. Zapier's error emails catch import failures before they become problems. Skip Zapier if you're importing more than 1,000 leads per month — Make's unlimited pricing becomes cheaper fast.
This workflow uses 1 task per new spreadsheet row. At 200 leads per month, that's 200 tasks total. That fits Zapier's Starter plan at $20/month with 750 tasks included. Make charges $9/month for 10,000 operations, making it $18 cheaper monthly. N8n is free self-hosted but requires server management time.
Make handles batch imports better with its array processing — you can upload 100 rows and create all leads in one operation. N8n offers more flexible error handling with custom retry logic and conditional branches. Zapier wins on simplicity though. The visual field mapper beats writing JSON transformations, and the trigger reliability is rock-solid. Most sales teams prefer spending time on leads, not debugging automation.
You'll hit Salesforce's duplicate rules if your sheet has repeat emails across multiple rows. Google Sheets API sometimes returns rows out of order during high-traffic periods, creating leads with mixed-up data. The 15-minute polling delay means urgent leads sit in your sheet for a while before import. Set up a Slack notification for new leads so your team knows when fresh prospects arrive.
Ideas for what to build next
- →Add lead scoring automation — Create a second Zap that scores new Salesforce leads based on company size, job title, or email domain, then assigns high-value prospects to senior sales reps.
- →
- →Create lead source reporting — Build a Google Sheets dashboard that pulls Salesforce data to track which import sources convert to customers, helping optimize your lead generation budget.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup