

How to Import Trade Show Leads from Google Sheets to Salesforce with N8n
Automatically converts attendee data from Google Sheets into qualified Salesforce leads after trade shows.
Steps and UI details are based on platform versions at time of writing β check each platform for the latest interface.
Best for
Teams that need data validation and transformation when importing trade show leads
Not ideal for
Simple imports without custom formatting or data enrichment needs
Sync type
pollingUse case type
importReal-World Example
A 25-person B2B software company attends 6 trade shows annually, collecting 150-400 leads per event through badge scans and signup forms. Their sales ops manager previously spent 2-3 hours after each show manually cleaning attendee data and importing leads into Salesforce, often missing leads that had formatting issues. Now they paste raw booth scan data into Google Sheets and let N8n validate, clean, and import everything automatically within minutes.
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
Import this workflow directly into n8n
Copy the pre-built n8n blueprint and paste it straight into n8n. 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.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| First Name | FirstName | |
| Email Address | Email | |
6 optional fieldsβΈ show
| Last Name | LastName |
| Company Name | Company |
| Phone Number | Phone |
| Job Title | Title |
| Lead Source | LeadSource |
| Event Notes | Description |
Step-by-Step Setup
Workflows > + Add Workflow
Create new N8n workflow
Start with a fresh workflow to handle your lead import automation. Name it something descriptive so you can find it later among your workflows.
- 1Click '+ Add Workflow' in the N8n dashboard
- 2Name the workflow 'Trade Show Lead Import'
- 3Click 'Save' to create the empty workflow
Nodes > Google Sheets > Trigger
Add Google Sheets trigger node
Configure N8n to watch for new data in your attendee spreadsheet. This trigger fires whenever you add or modify rows in the specified sheet.
- 1Click the '+' button to add a node
- 2Search for 'Google Sheets' and select it
- 3Choose 'On Row Added or Updated' as the trigger type
- 4Select 'Every time the workflow is called' for testing
Node Settings > Credentials > Google Sheets OAuth2
Connect your Google account
Authenticate N8n to access your Google Sheets. You'll need to grant permissions for N8n to read your spreadsheet data.
- 1Click 'Create New Credential' in the Google Sheets node
- 2Select 'Google Sheets OAuth2 API'
- 3Click 'Connect my account' and complete OAuth flow
- 4Select your connected account from the dropdown
Node Settings > Spreadsheet Configuration
Select your attendee spreadsheet
Point N8n to the specific Google Sheet containing your trade show attendee data. Choose the exact sheet tab where you paste the lead information.
- 1Click the 'Spreadsheet' dropdown
- 2Select your attendee tracking spreadsheet
- 3Choose the specific sheet tab (usually 'Sheet1' or 'Attendees')
- 4Set 'Range' to include all data columns (e.g., 'A:H')
Nodes > Salesforce > Create > Lead
Add Salesforce node
Connect the Salesforce node to create leads from your Google Sheets data. This node handles the actual lead creation in your CRM.
- 1Click '+' to add a new node after Google Sheets
- 2Search for 'Salesforce' and select it
- 3Choose 'Create' as the operation
- 4Select 'Lead' as the resource type
Node Settings > Credentials > Salesforce OAuth2
Set up Salesforce credentials
Authenticate with your Salesforce org to enable lead creation. N8n needs API access to write new lead records to your CRM.
- 1Click 'Create New Credential' in the Salesforce node
- 2Select 'Salesforce OAuth2 API'
- 3Enter your Salesforce login URL (usually login.salesforce.com)
- 4Complete the OAuth flow with your Salesforce credentials
Node Settings > Fields > Add Field
Map Google Sheets columns to Salesforce fields
Configure how attendee data from your spreadsheet translates into Salesforce lead fields. This mapping ensures data lands in the right places in your CRM.
- 1Click 'Add Field' for each Salesforce lead field you want to populate
- 2Map 'Company' to {{ $json.Company }} from Google Sheets
- 3Map 'Email' to {{ $json.Email }} from the spreadsheet
- 4Add mappings for FirstName, LastName, Phone, and LeadSource
Node Settings > Fields > LeadSource
Set lead source and campaign
Tag imported leads with source tracking so you can measure trade show ROI. Use consistent values that match your existing Salesforce picklist options.
- 1Add a 'LeadSource' field mapping
- 2Set the value to 'Trade Show' or your specific event name
- 3Add 'Campaign' field if you track campaigns
- 4Set a static value like 'Q4 2024 Events' for campaign tracking
Nodes > IF > Conditions
Add data validation node
Insert an IF node to check for required data before creating Salesforce leads. This prevents incomplete records from cluttering your CRM.
- 1Add an 'IF' node between Google Sheets and Salesforce
- 2Set condition to check if Email field is not empty
- 3Add a second condition for Company or LastName being present
- 4Configure 'true' path to continue to Salesforce
Workflow > Execute Workflow
Test with sample data
Run a test execution to verify your mapping works correctly with real attendee data. Check that leads appear in Salesforce with all expected field values.
- 1Click 'Execute Workflow' to test the entire flow
- 2Check the execution log for any errors
- 3Verify new leads appear in Salesforce with correct data
- 4Review field mapping if any data looks incorrect
Node Settings > Settings > Continue on Fail
Configure error handling
Set up proper error handling so failed lead imports don't break the entire batch. This ensures partial failures don't lose all your attendee data.
- 1Click the Salesforce node settings gear icon
- 2Select 'Continue on Fail' in the error handling section
- 3Add an 'Edit Fields' node on the error path to log failed records
- 4Connect error output to a Google Sheets append for tracking failures
Workflow > Activate Toggle
Activate workflow for production
Enable the workflow to run automatically when you add new attendee data to your Google Sheet. Set appropriate execution settings for your trade show volume.
- 1Click the 'Inactive' toggle at the top of the workflow
- 2Verify the webhook URL appears in the Google Sheets trigger
- 3Test by adding a new row to your attendee spreadsheet
- 4Confirm the new lead appears in Salesforce within 30 seconds
Drop this into an n8n Code node.
JavaScript β Code Node// Clean phone numbers from booth scansβΈ Show code
// Clean phone numbers from booth scans const phone = $json.Phone || ''; const cleaned = phone.replace(/[^0-9+]/g, '').replace(/^1/, '+1');
... expand to see full code
// Clean phone numbers from booth scans
const phone = $json.Phone || '';
const cleaned = phone.replace(/[^0-9+]/g, '').replace(/^1/, '+1');
return { Phone: cleaned.length >= 10 ? cleaned : null };Scaling Beyond 300+ attendees per event+ Records
If your volume exceeds 300+ attendees per event records, apply these adjustments.
Enable batch processing
Use N8n's 'Split in Batches' node to process 50 attendees at a time instead of individual API calls. This prevents Google Sheets API timeouts and stays within Salesforce rate limits for bulk imports.
Add processing delays
Insert 'Wait' nodes between batches to respect Salesforce API limits. A 30-second delay between 50-record batches keeps you under most org's hourly API quotas while processing large events overnight.
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 N8n for this if you need custom data validation before importing leads or want to process attendee data in batches without hitting API limits. The JavaScript code nodes let you clean messy trade show data β fixing phone number formats, parsing combined name fields, or enriching leads with booth visit timestamps. Skip N8n if you just want simple row-by-row syncing with no data transformation β Zapier handles basic imports faster.
This workflow consumes 1 execution per attendee imported. A typical trade show with 200 leads costs 200 executions. At 4 shows per year (800 executions), you stay within N8n's free tier of 5,000 monthly executions. The starter plan at $20/month covers up to 3,000 executions, handling 15+ trade shows annually. Zapier's starter plan at $20/month only includes 750 tasks β you'd need the $50 professional plan for the same volume. N8n saves $30/month at this scale.
Zapier wins on setup speed β their Google Sheets to Salesforce integration takes 3 minutes versus N8n's 20-minute configuration. Make offers better bulk processing with their array aggregator for handling 500+ attendees at once without timeouts. But N8n's JavaScript nodes let you transform messy booth scan data that other platforms can't handle β like parsing 'John Smith, VP Sales, Acme Corp' into separate name, title, and company fields.
Google Sheets API paginates at 100 rows, so importing 300+ attendees requires N8n's 'Split in Batches' node to avoid timeouts. Salesforce enforces a 200 API calls per hour limit on some orgs β batch your imports or add wait nodes between requests. Trade show scan data often has encoding issues with special characters in names β test with international attendee data to catch Unicode problems before your next event.
Ideas for what to build next
- βAdd lead scoring based on job title β Create a JavaScript node that assigns lead scores based on attendee job titles, company size, or booth interaction notes to prioritize follow-up.
- βSend Slack notifications for high-value leads β Add a Slack node that alerts sales reps immediately when C-level executives or target company contacts are imported from trade shows.
- βCreate follow-up email sequences β Connect imported leads to email marketing automation that sends personalized follow-up sequences based on which trade show they attended.
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