

How to Sync Google Sheets Account Data to Salesforce with Make
Automatically update Salesforce account records when enrichment data is added to 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 enrich account data in spreadsheets and need it synced to Salesforce automatically.
Not ideal for
High-volume data processing over 500 accounts daily or complex data transformation requirements.
Sync type
pollingUse case type
syncReal-World Example
A 20-person B2B SaaS sales team uses this to update Salesforce when their marketing ops person adds industry and employee count data to accounts in Google Sheets. Before automation, the sales ops person manually copied enrichment data into Salesforce weekly, often missing updates or introducing typos. Now enriched data flows to Salesforce within 15 minutes of being added to the spreadsheet.
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 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.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Account Name | Name | |
5 optional fields▸ show
| Industry | Industry |
| Annual Revenue | AnnualRevenue |
| Employee Count | NumberOfEmployees |
| Website | Website |
| Account Type | Type |
Step-by-Step Setup
Dashboard > Create scenario > Apps
Create a New Scenario
Start by setting up a new scenario in Make to connect Google Sheets to Salesforce. This creates the foundation for your account enrichment workflow.
- 1Click 'Create a new scenario' from your Make dashboard
- 2Click the large gray circle to add your first module
- 3Search for 'Google Sheets' and select it from the app list
Google Sheets module > Configuration
Set Up Google Sheets Trigger
Configure the trigger to watch for new or updated rows in your enrichment spreadsheet. This will fire whenever account data gets added or modified.
- 1Select 'Watch Rows' as your trigger type
- 2Click 'Add' next to Connection and authenticate with Google
- 3Choose your enrichment spreadsheet from the dropdown
- 4Select the worksheet containing account data
- 5Set 'Table contains headers' to Yes
Scenario canvas > + > Filter
Add Filter Module
Insert a filter to only process rows that contain account identifiers. This prevents the scenario from running on empty or header rows.
- 1Click the + button between modules to add a filter
- 2Name the filter 'Has Account Data'
- 3Set condition to check if Account Name or Account ID is not empty
- 4Use 'is not equal to' and leave the value blank
Apps > Salesforce > Search Records
Add Salesforce Module
Connect to Salesforce to search for existing account records that match your enrichment data. This ensures you update the right accounts.
- 1Click the + after your filter to add a new module
- 2Search for 'Salesforce' and select it
- 3Choose 'Search Records' as the action
- 4Click 'Add' to create a Salesforce connection
Salesforce module > Add connection
Configure Salesforce Connection
Authenticate with Salesforce using your production or sandbox credentials. Make needs API access to read and update account records.
- 1Enter your Salesforce username and password
- 2Paste your security token after your password
- 3Select 'Production' or 'Sandbox' environment
- 4Click 'Save' to establish the connection
Salesforce module > Configuration
Set Up Account Search
Configure the search to find accounts that match your Google Sheets data. This lookup determines which Salesforce records to update.
- 1Set Record Type to 'Account'
- 2In Search Query, enter 'Name =' and map the Account Name from Google Sheets
- 3Set Maximum number of returned records to 1
- 4Leave other fields at default values
Flow Control > Router
Add Router for Found/Not Found
Insert a router to handle cases where accounts exist versus when they don't. This prevents errors when no matching account is found.
- 1Click the + after Salesforce Search module
- 2Select 'Flow Control' then 'Router'
- 3The router automatically appears with two paths
Router > Filter > Salesforce Update
Configure Update Path
Set up the path that updates existing Salesforce accounts when a match is found. This is where the actual enrichment happens.
- 1Click the first router path to add a filter
- 2Name it 'Account Found' and set condition to 'Total number of bundles > 0'
- 3Click + after the filter to add 'Salesforce > Update Record'
- 4Set Record Type to 'Account'
- 5Map Record ID from the search results
Salesforce Update > Fields
Map Enrichment Fields
Configure which Google Sheets columns update which Salesforce account fields. This is where your enrichment data gets applied to the CRM.
- 1In the Update Record module, expand the Fields section
- 2Map Industry from Google Sheets to Industry field
- 3Map Annual Revenue to AnnualRevenue field
- 4Map Employee Count to NumberOfEmployees
- 5Add any custom fields your org uses
Scenario > Run once
Test the Scenario
Run a test to verify the workflow processes your enrichment data correctly. This catches configuration issues before going live.
- 1Click 'Run once' at the bottom of the scenario
- 2Add a test row to your Google Sheets with account data
- 3Wait 30 seconds then check the execution log
- 4Verify the Salesforce account was updated with new data
Scenario > Settings
Enable Scenario
Turn on the scenario to start processing enrichment data automatically. Set the schedule based on how frequently you add new data.
- 1Toggle the scenario switch to ON
- 2Set scheduling to 'Every 15 minutes' for regular updates
- 3Click 'Save' to apply the configuration
Drop this into a Make custom function.
JavaScript — Custom Function{{if(1.`Total number of bundles` > 0; 1.`Record ID`; "No account found for " + 2.`Account Name`)}}▸ Show code
{{if(1.`Total number of bundles` > 0; 1.`Record ID`; "No account found for " + 2.`Account Name`)}}... expand to see full code
{{if(1.`Total number of bundles` > 0; 1.`Record ID`; "No account found for " + 2.`Account Name`)}}Scaling Beyond 300+ accounts per day+ Records
If your volume exceeds 300+ accounts per day records, apply these adjustments.
Batch Processing
Use Make's aggregator to group multiple sheet rows and update accounts in batches. This reduces API calls and stays under Salesforce limits.
Polling Frequency
Increase polling interval to 30 minutes or hourly. More frequent checks burn operations without adding value for batch enrichment workflows.
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 Make for this if you need reliable field mapping between Google Sheets and Salesforce without writing code. Make handles Salesforce's picky API requirements better than most platforms and gives you visual debugging when mappings fail. The router system lets you handle found/not-found cases cleanly. Skip Make if you're processing 1000+ accounts daily - Salesforce's API limits will hit you hard and you'd be better off with a bulk API tool.
This workflow uses 4 operations per run: Google Sheets trigger, Salesforce search, filter check, and record update. At 200 enrichment events per month, that's 800 operations monthly. Make's Core plan at $9/month includes 10,000 operations, so you're well covered. Zapier would cost $20/month for the same volume on their Professional plan. N8N cloud runs $20/month for similar usage. Make wins on cost here by $11 monthly.
Zapier handles Salesforce authentication more smoothly - no security token required, just OAuth. N8N offers better bulk processing if you're updating 50+ records at once through its batch operations. But Make's visual router system beats both platforms for handling the found/not-found logic cleanly. You can see exactly which accounts updated and which didn't, making debugging much faster when enrichment data doesn't match.
Google Sheets API has a 100 requests per 100 seconds limit that Make doesn't warn you about. If you bulk-add 50+ rows, the scenario will hit rate limits and fail silently. Salesforce field validation is stricter than the UI shows - picklist values must match exactly and number fields reject text even if it looks numeric. Make's error handling stops the whole scenario on field errors, so one bad row kills the batch. Set up error handling to continue processing other records when individual updates fail.
Ideas for what to build next
- →Add Account Creation Path — Set up the second router path to create new Salesforce accounts when no match is found in the search.
- →Log Enrichment Activity — Add a Google Sheets module to log which accounts were updated with timestamps for audit purposes.
- →Slack Notifications — Send a daily summary to Slack showing how many accounts were enriched and any errors encountered.
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