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

How to Import Event Leads from Google Sheets to Salesforce with Make

Automatically create Salesforce leads from trade show attendee data pasted into Google Sheets rows.

Steps and UI details are based on platform versions at time of writing β€” check each platform for the latest interface.

Best for

Teams that regularly attend trade shows and need fast lead import with minimal technical setup.

Not ideal for

One-off imports or teams comfortable with Salesforce's native Data Import Wizard.

Sync type

polling

Use case type

import

Real-World Example

πŸ’‘

A 25-person B2B software company attends 8 trade shows yearly and collects 50-300 leads per event. Their sales team needs leads in Salesforce within an hour to start follow-up calls while the event is still top-of-mind. Before automation, their marketing coordinator spent 2-3 hours manually importing each event's CSV file and cleaning duplicate records.

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 attendee data columns (name, email, company, phone)
Salesforce org with API access enabled on your user account
Make account with sufficient operations for your monthly lead volume
Salesforce security token for API authentication

Field Mapping

Map these fields between your apps.

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

Step-by-Step Setup

1

Scenarios > Create new scenario > Google Sheets

Create new scenario and add Google Sheets trigger

Start a fresh scenario in Make and configure it to watch for new rows in your lead import sheet. The trigger will fire whenever you paste attendee data after an event.

  1. 1Click 'Create a new scenario' from your Make dashboard
  2. 2Click the + button and search for 'Google Sheets'
  3. 3Select 'Watch Rows' as your trigger module
  4. 4Choose 'Added rows only' from the trigger options
βœ“ What you should see: You should see a Google Sheets module with a gear icon, ready for configuration.
Make
+
click +
search apps
Google Sheets
GO
Google Sheets
Create new scenario and add …
Google Sheets
GO
module added
2

Google Sheets module > Connection settings

Connect your Google account and select spreadsheet

Link Make to your Google account and point it to the specific sheet where you'll paste event leads. Make needs read access to detect new rows.

  1. 1Click 'Add' next to the Connection field
  2. 2Sign in with your Google account when prompted
  3. 3Select your lead import spreadsheet from the dropdown
  4. 4Choose the specific worksheet tab (usually 'Sheet1' or 'Leads')
  5. 5Set 'Table contains headers' to Yes
βœ“ What you should see: The connection shows a green 'Connected' status and your spreadsheet name appears in the configuration.
⚠
Common mistake β€” Don't pick a sheet with existing data unless you want Make to process all rows as new leads on first run.
Make settings
Connection
Choose a connection…Add
click Add
Google Sheets
Log in to authorize
Authorize Make
popup window
βœ“
Connected
green checkmark
3

Google Sheets module > Advanced settings

Configure row detection settings

Tell Make which rows to treat as new leads and how often to check for updates. Set a reasonable polling interval to avoid burning through operations.

  1. 1Set 'Limit' to 50 (max rows to process per run)
  2. 2Choose 'Every 5 minutes' for the schedule
  3. 3Click 'Show advanced settings'
  4. 4Enable 'The first row contains headers'
  5. 5Set starting row to wherever your data begins
βœ“ What you should see: The module shows your polling schedule and row limits in the configuration panel.
⚠
Common mistake β€” Setting the limit too high will consume operations fast if you import large event lists.
4

Scenario flow > Add module > Salesforce > Create Record

Add Salesforce module for lead creation

Connect the Salesforce module to receive data from Google Sheets. This module will create a new lead record for each row Make processes.

  1. 1Click the + button after the Google Sheets module
  2. 2Search for and select 'Salesforce'
  3. 3Choose 'Create a Record' as the action
  4. 4Select 'Lead' as the record type
βœ“ What you should see: A Salesforce module appears connected to your Google Sheets trigger with lead creation configured.
5

Salesforce module > Connection settings

Connect to your Salesforce instance

Authenticate Make with your Salesforce org. You'll need admin permissions or API access enabled on your user account.

  1. 1Click 'Add' next to the Connection field
  2. 2Enter your Salesforce login URL (login.salesforce.com for production)
  3. 3Input your Salesforce username and password
  4. 4Add your security token to the password field
  5. 5Click 'Continue' to verify the connection
βœ“ What you should see: Connection status shows green with your Salesforce org name displayed.
⚠
Common mistake β€” Forgot your security token? Go to Salesforce Setup > Personal Information > Reset Security Token.
6

Salesforce module > Field mapping

Map Google Sheets columns to Salesforce lead fields

Connect your spreadsheet columns to the correct Salesforce lead fields. This mapping determines how your event data becomes lead records.

  1. 1Click in the 'Company' field and select your company column from the dropdown
  2. 2Map 'FirstName' and 'LastName' to your name columns
  3. 3Set 'Email' to your email address column
  4. 4Map 'Phone' to your phone number column
  5. 5Add 'LeadSource' and set it to 'Trade Show' or your event name
βœ“ What you should see: Each Salesforce field shows the corresponding Google Sheets column name in blue tags.
⚠
Common mistake β€” Leave required fields empty and the scenario will fail - Company, LastName, and Email are mandatory for Salesforce leads.
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
7

Salesforce module > Field mapping > Static values

Configure lead source and status defaults

Set standard values for lead qualification and tracking. These fields help your sales team understand where leads originated and their current status.

  1. 1Set 'Status' to 'New' or 'Unqualified' based on your process
  2. 2Add 'Rating' as 'Cold' for trade show leads
  3. 3Fill 'Industry' if all attendees are from the same sector
  4. 4Set 'LeadSource' to your specific event name
  5. 5Add any custom fields your team uses for lead scoring
βœ“ What you should see: Default values appear as static text in the mapped fields alongside your dynamic column data.
⚠
Common mistake β€” Check your Salesforce lead conversion process - some orgs require specific Status values to prevent auto-assignment rules from firing.
8

Salesforce module > Error handling settings

Add error handling for duplicate leads

Configure Make to handle situations where the same lead already exists in Salesforce. This prevents scenarios from breaking when you import overlapping event data.

  1. 1Click the wrench icon on the Salesforce module
  2. 2Select 'Ignore' from the 'Error handling' dropdown
  3. 3Check 'DUPLICATE_VALUE' in the error types list
  4. 4Set 'Number of retries' to 0 for duplicates
  5. 5Enable 'Complete execution' to continue processing other leads
βœ“ What you should see: A small error-handling icon appears on the Salesforce module showing your ignore settings.
⚠
Common mistake β€” Don't use 'Break' error handling or one duplicate email will stop your entire import batch.
9

Scenario > Run once > Execution details

Test with sample data

Run a test execution using actual event data to verify your field mapping works correctly. This catches mapping errors before you go live.

  1. 1Add 2-3 sample attendee rows to your Google Sheet
  2. 2Click 'Run once' at the bottom of your scenario
  3. 3Watch the execution flow in real-time
  4. 4Check that test leads appear correctly in Salesforce
  5. 5Verify all mapped fields contain the expected data
βœ“ What you should see: The scenario shows green checkmarks for each module and new lead records appear in your Salesforce leads list.
⚠
Common mistake β€” Test leads will be real Salesforce records - delete them after testing or use a sandbox org.
Make
β–Ά Run once
executed
βœ“
Google Sheets
βœ“
Salesforce
Salesforce
πŸ”” notification
received
10

Scenario settings > Activation

Activate scenario and set monitoring

Turn on your scenario to start processing new rows automatically. Configure notifications so you know when imports succeed or fail.

  1. 1Toggle the 'ON' switch at the bottom left of your scenario
  2. 2Click the gear icon next to the scenario name
  3. 3Enable 'Email notifications on errors'
  4. 4Set 'Max number of cycles' to 10 to prevent runaway executions
  5. 5Save your scenario with a descriptive name
βœ“ What you should see: The scenario shows 'Active' status and begins polling your Google Sheet every 5 minutes for new rows.
⚠
Common mistake β€” Scenarios run continuously once activated - remember this counts against your monthly operation limit.

Drop this into a Make custom function.

JavaScript β€” Custom FunctionAdd this filter between modules to skip rows with missing email addresses:
β–Έ Show code
Add this filter between modules to skip rows with missing email addresses:
{{if(length(trim(8.Email)) > 5; true; false)}}
This prevents Salesforce errors and saves operations on incomplete lead data.

... expand to see full code

Add this filter between modules to skip rows with missing email addresses:

{{if(length(trim(8.Email)) > 5; true; false)}}

This prevents Salesforce errors and saves operations on incomplete lead data.

Scaling Beyond 200+ leads per event+ Records

If your volume exceeds 200+ leads per event records, apply these adjustments.

1

Add processing delays

Insert a 2-second sleep module between Google Sheets and Salesforce to stay under API rate limits. Without delays, Salesforce will throttle requests around lead 100.

2

Increase operation limits

Set Google Sheets module limit to your max event size instead of the default 10. A 500-person conference needs the limit set to 500 or leads will import across 50 separate executions.

3

Enable bulk processing

Switch to Salesforce's bulk API by using Make's 'Create Records' (plural) module instead of 'Create Record'. This processes leads in batches of 200 and uses fewer API calls.

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 import event leads more than once per quarter and need them in Salesforce within minutes, not hours. Make's Google Sheets trigger fires every 5 minutes and processes up to 50 rows per run, so a 200-person trade show imports completely in 20 minutes. The visual scenario builder makes field mapping obvious, and error handling prevents duplicate leads from breaking your import. Skip Make and use Salesforce Data Import Wizard instead if you only import leads twice per year - the manual upload saves money.

Cost

This workflow uses 2 operations per lead (1 for Google Sheets row detection, 1 for Salesforce lead creation). At 100 leads monthly, that's 200 operations costing $9/month on Make's Core plan. Zapier charges $20/month for the same volume on their Starter plan. N8N costs nothing if you self-host but requires server maintenance. Make wins on simplicity and costs 55% less than Zapier for this use case.

Tradeoffs

Zapier handles Google Sheets formatting quirks better - their parser automatically trims whitespace and handles merged cells that break Make's row detection. N8N offers more granular Salesforce API control, letting you update existing leads instead of just creating new ones. But Make's visual error handling beats both platforms for troubleshooting failed imports. You can see exactly which lead failed and why without digging through logs.

Google Sheets API paginates at 1000 rows, so events larger than that need Make's iterator module to process batches. Salesforce's duplicate detection rules sometimes conflict with Make's error handling - test your org's settings with sample data first. The biggest gotcha: Make stores the last processed row ID internally, so don't delete and recreate your Google Sheet or the scenario will reprocess everything as new leads.

Ideas for what to build next

  • β†’
    Add lead scoring automation β€” Create a follow-up scenario that scores imported leads based on company size and industry, then assigns them to specific sales reps.
  • β†’
    Build event ROI tracking β€” Connect this import to a dashboard that tracks conversion rates and revenue by event source to measure trade show performance.
  • β†’
    Set up nurture campaign triggers β€” Automatically add imported leads to email sequences in HubSpot or Pardot based on their industry or job title.

Related guides

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