Beginner~12 min setupProductivity & CRMVerified April 2026
Google Sheets logo
Salesforce logo

How to Import Leads from Google Sheets to Salesforce with Make

Automatically create or update Salesforce leads whenever new rows are added to your Google Sheets prospecting list.

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 Google Sheets with specific field mapping requirements.

Not ideal for

One-time bulk imports over 1000 records or teams needing instant lead sync faster than 15 minutes.

Sync type

polling

Use case type

import

Real-World Example

πŸ’‘

A 20-person B2B software company downloads 300 prospect lists monthly from trade shows and LinkedIn campaigns into Google Sheets. Before automation, their sales ops person manually imported leads into Salesforce every few days, often missing hot prospects for 48+ hours. Now leads appear in Salesforce within 15 minutes of being added to the sheet, and duplicate checking prevents the same prospect from being contacted by multiple reps.

What Will This Cost?

Drag the slider to your expected monthly volume.

/mo
505005K50K

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

Skip the setup

Import this workflow directly into Make

Copy the pre-built Make blueprint and paste it straight into Make. All modules, filters, and field mappings are already configured β€” you just need to connect your accounts.

Before You Start

Make sure you have everything ready.

Google Sheets document with lead data and column headers in row 1
Salesforce org access with Create permission on Lead objects
Make account (free tier works for testing, paid for production volume)
Spreadsheet columns that match required Salesforce lead fields (Company, LastName minimum)
Edit access to the Google Sheets document you want to monitor

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Company NameCompany
Last NameLastName
5 optional fieldsβ–Έ show
First NameFirstName
Email AddressEmail
Phone NumberPhone
Job TitleTitle
Lead SourceLeadSource

Step-by-Step Setup

1

Scenarios > Create new > Google Sheets > Watch Rows

Create a new scenario

Start a fresh scenario in Make and select Google Sheets as your trigger app. This will monitor your spreadsheet for new lead data.

  1. 1Click the orange 'Create a new scenario' button from your dashboard
  2. 2Click the center circle with the '+' icon
  3. 3Search for 'Google Sheets' and select it from the app list
  4. 4Choose 'Watch Rows' as your trigger module
βœ“ What you should see: You should see a Google Sheets module in the center with 'Watch Rows' as the selected trigger.
2

Module settings > Connection > Add

Connect your Google account

Authorize Make to access your Google Sheets. You'll need edit permissions on the spreadsheet containing your leads.

  1. 1Click 'Add' next to the Connection field
  2. 2Select 'Google (restricted)' for better security
  3. 3Click 'Continue' and sign in with your Google account
  4. 4Grant Make permission to access your Google Sheets
βœ“ What you should see: A green checkmark appears next to your connection name, confirming successful authorization.
⚠
Common mistake β€” Choose 'Google (restricted)' not 'Google' - the unrestricted version requests unnecessary permissions that IT departments often block.
Make settings
Connection
Choose a connection…Add
click Add
Google Sheets
Log in to authorize
Authorize Make
popup window
βœ“
Connected
green checkmark
3

Module settings > Spreadsheet selection

Select your leads spreadsheet

Point Make to the specific Google Sheet containing your lead data. Make sure the first row contains column headers.

  1. 1Click the Spreadsheet dropdown and select your leads sheet
  2. 2Choose the specific sheet tab from the Sheet dropdown
  3. 3Set 'Table contains headers' to Yes
  4. 4Leave 'Row with headers' as 1 unless your headers are elsewhere
βœ“ What you should see: Make displays your spreadsheet name and sheet tab, with header detection enabled.
⚠
Common mistake β€” Your spreadsheet must have headers in row 1 - Make uses these to map fields later. Empty headers will cause mapping errors.
4

Module testing > Run once

Test the Google Sheets trigger

Run a test to verify Make can read your spreadsheet data. This populates the field mapping options for Salesforce.

  1. 1Click 'OK' to save the Google Sheets configuration
  2. 2Click 'Run once' at the bottom of the screen
  3. 3Wait for Make to process (usually 3-5 seconds)
  4. 4Click on the Google Sheets module to view the sample data
βœ“ What you should see: The module shows a speech bubble with '1' and displays sample row data when clicked.
⚠
Common mistake β€” If no data appears, add a test row to your spreadsheet first - Make needs existing data to map fields properly.
Make
β–Ά Run once
executed
βœ“
Google Sheets
βœ“
Salesforce
Salesforce
πŸ”” notification
received
5

Scenario > Add module > Salesforce > Create a Record

Add Salesforce module

Insert a Salesforce module to create leads from your sheet data. Position it after the Google Sheets trigger.

  1. 1Click the white circle with '+' to the right of Google Sheets
  2. 2Search for 'Salesforce' in the app selector
  3. 3Select 'Salesforce' from the results
  4. 4Choose 'Create a Record' as your action
βœ“ What you should see: A Salesforce module appears connected to Google Sheets, with 'Create a Record' selected.
6

Salesforce module > Connection > Add

Connect to Salesforce

Link your Salesforce org to Make using either username/password or OAuth. OAuth is more secure for production use.

  1. 1Click 'Add' next to Connection in the Salesforce module
  2. 2Choose 'Salesforce (OAuth)' for production or 'Salesforce' for testing
  3. 3Enter your Salesforce login URL (login.salesforce.com or custom domain)
  4. 4Sign in with your Salesforce credentials and grant access
βœ“ What you should see: Green checkmark next to your Salesforce connection name, indicating successful authentication.
⚠
Common mistake β€” Use your custom Salesforce domain if you have one - login.salesforce.com won't work with single sign-on setups.
7

Salesforce module > Record configuration

Configure lead record type

Set Salesforce to create Lead records from your sheet data. Select the record type if your org uses multiple lead types.

  1. 1Set 'Record Type' dropdown to 'Lead'
  2. 2If you see 'Select Record Type', choose your default lead type
  3. 3Leave 'Upsert' unchecked for now - we'll handle duplicates separately
βœ“ What you should see: Salesforce module shows 'Lead' as record type with lead-specific fields available for mapping.
⚠
Common mistake β€” Don't enable Upsert without setting an External ID field first - it will create duplicates instead of updating existing leads.
8

Salesforce module > Field mapping

Map required lead fields

Connect your spreadsheet columns to required Salesforce lead fields. Company and LastName are mandatory in most Salesforce orgs.

  1. 1Click in the 'Company' field and select your company column from Google Sheets
  2. 2Map 'LastName' to your last name or full name column
  3. 3Map 'FirstName' if you have a separate first name column
  4. 4Set 'Email' field to your email column from the sheet
βœ“ What you should see: Required fields show your Google Sheets column names in blue pill-shaped tags.
⚠
Common mistake β€” Company and LastName are required in most Salesforce orgs - the scenario will fail without these mapped, even if your sheet has the data.
Google Sheets fields
Column A
Column B
Email
Status
Notes
available as variables:
1.props.Column A
1.props.Column B
1.props.Email
1.props.Status
1.props.Notes
9

Salesforce module > Additional field mapping

Map additional lead fields

Connect remaining spreadsheet columns to relevant Salesforce fields like phone, lead source, and status for complete lead records.

  1. 1Scroll down to find 'Phone' and map it to your phone column
  2. 2Set 'LeadSource' to a static value like 'Spreadsheet Import' or map to a sheet column
  3. 3Map 'Title' field if your sheet includes job titles
  4. 4Add any custom fields your sales team requires
βœ“ What you should see: Multiple Salesforce fields show mapped Google Sheets data, creating a complete lead profile.
10

Complete scenario > Run once

Test the complete workflow

Run the full scenario to verify leads are created correctly in Salesforce. Check that all mapped fields contain the expected data.

  1. 1Click 'OK' to save the Salesforce module settings
  2. 2Click 'Run once' to execute the complete scenario
  3. 3Wait for both modules to process (green checkmarks)
  4. 4Check your Salesforce org for the new lead record
βœ“ What you should see: Both modules show green checkmarks and the new lead appears in Salesforce with all mapped fields populated.
⚠
Common mistake β€” Test leads will appear in your actual Salesforce org - create them in a sandbox first if you're concerned about data pollution.
11

Salesforce module > Tools > Error handling

Enable duplicate handling

Add logic to prevent creating duplicate leads when the same email appears multiple times in your sheet or across imports.

  1. 1Click the wrench icon on the Salesforce module
  2. 2Select 'Add error handling'
  3. 3Choose 'Resume' as the error handling type
  4. 4Set it to continue processing even if duplicates are found
βœ“ What you should see: A small error handler icon appears on the Salesforce module, indicating duplicate protection is active.
⚠
Common mistake β€” Without error handling, duplicate email addresses will stop the entire scenario - add this before going live.
12

Scenario controls > Scheduling

Activate the scenario

Turn on automatic monitoring so new spreadsheet rows trigger lead creation immediately. Set the schedule based on how quickly you need leads processed.

  1. 1Click the toggle switch at the bottom left to turn scenario ON
  2. 2Click the clock icon to set scheduling
  3. 3Choose 'Every 15 minutes' for regular imports or 'Every 5 minutes' for urgent leads
  4. 4Click 'OK' to save and activate
βœ“ What you should see: The scenario shows 'ON' status with your chosen schedule, and will now monitor the spreadsheet automatically.
⚠
Common mistake β€” Don't set it to run every minute - Google Sheets API has rate limits and you'll hit quota faster without meaningful speed gains.

Drop this into a Make custom function.

JavaScript β€” Custom Function{{if(contains(lower(2.Email); "gmail"); "Personal"; "Business")}}
β–Έ Show code
{{if(contains(lower(2.Email); "gmail"); "Personal"; "Business")}}

... expand to see full code

{{if(contains(lower(2.Email); "gmail"); "Personal"; "Business")}}

Scaling Beyond 500+ leads/month+ Records

If your volume exceeds 500+ leads/month records, apply these adjustments.

1

Add batch processing

Use Make's Array Aggregator to group multiple sheet rows and process them together. This reduces API calls and prevents hitting Salesforce's daily API limits.

2

Implement lead scoring

Add a Router module to send high-value leads (based on company size or title) to different Salesforce campaigns or assignment rules. This prevents hot prospects from getting lost in bulk imports.

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

VerdictWhy Make for this workflow

Use Make for this if you need reliable lead imports with complex field mapping or data transformation. Make handles Salesforce's required fields better than most platforms and gives you granular control over duplicate handling. The visual editor makes it easy to add validation rules or route leads to different Salesforce objects based on criteria. Skip Make if you just need basic one-to-one field mapping - Zapier's interface is simpler for straightforward imports.

Cost

This workflow uses 2 operations per row: one to detect the new Google Sheets row and one to create the Salesforce lead. At 200 leads per month, that's 400 operations total. Make's Core plan ($9/month) includes 10,000 operations, so you're well within limits. Zapier would cost $20/month for the same volume since their Starter plan only covers 100 Salesforce tasks. Make saves you $132 yearly on this workflow alone.

Tradeoffs

Zapier handles Salesforce duplicate detection more elegantly - their built-in 'Find or Create' action checks for existing leads automatically without requiring error handling setup. N8n offers better customization for lead scoring or complex data validation since you can write custom JavaScript functions. But Make strikes the right balance for most teams: more powerful than Zapier's simple field mapping, less complex than N8n's coding requirements.

Google Sheets API paginates at 100 rows, so bulk imports of 500+ leads require Make's iterator module to process in batches. Salesforce enforces strict email validation that many spreadsheets violate - expect 5-10% of rows to fail on malformed email addresses. Make's scheduling runs every 15 minutes minimum, so urgent leads from your sheet won't appear in Salesforce instantly. Phone number formatting is another gotcha - Salesforce expects (555) 123-4567 format but most sheets contain inconsistent formats that need cleaning.

Ideas for what to build next

  • β†’
    Add lead assignment automation β€” Create a second scenario that assigns imported leads to sales reps based on territory, company size, or industry using Salesforce's assignment rules.
  • β†’
    Set up Slack notifications for hot leads β€” Add a filter for high-value prospects (enterprise companies, C-level titles) and send immediate Slack alerts to your sales team when these leads are imported.
  • β†’
    Create a lead import log β€” Build a tracking sheet that logs successful imports, failed records, and duplicate attempts to help your sales ops team monitor data quality and import success rates.

Related guides

Was this guide helpful?
← Google Sheets + Salesforce overviewMake profile β†’