Google Sheets logo
+
Salesforce logo

Google Sheets + Salesforce Integration

Sync data between Google Sheets and Salesforce — import leads from spreadsheets, export reports to Sheets, and keep both systems updated.

Last verified April 2026·Platform details and pricing may change — verify with each provider before setting up.

What can you automate?

The most common ways teams connect Google Sheets and Salesforce.

Import leads from spreadsheets

When rows are added to a Google Sheet, create or update leads in Salesforce.

Export pipeline to Sheets

Every morning, query Salesforce for open opportunities and write them to a Google Sheet.

Bi-directional contact sync

When a Salesforce contact is updated, update the matching row in Sheets and vice versa.

Event lead import

After a trade show, paste attendee data into a Sheet and import all rows as Salesforce leads.

Weekly sales report

Every Friday, run a SOQL query for closed-won deals and append a summary to a spreadsheet.

Set up in:
Make logo
Make
Zapier logo
Zapier
n8n logo
n8n

Account data enrichment

When enrichment data is added to a spreadsheet, update matching Salesforce account records.

Set up in:
Make logo
Make
Zapier logo
Zapier
n8n logo
n8n

Platform Comparison

How each automation tool connects Google Sheets and Salesforce.

Make logo
Make
recommended
Medium setup
4
triggers
6
actions
~20
min setup
Scenario (polling)
method

Iterator for bulk row processing. SOQL support for precise exports.

Top triggers

Watch Rows
Search Rows
Watch Salesforce Records
SOQL Query

Top actions

Create a Record
Update a Record
Search (SOQL)
Add a Row
Medium setup
4
triggers
6
actions
~15
min setup
Workflow
method

Code-first with pre-built components. Full npm/PyPI access in every step. Free tier includes 10K invocations/day.

Top triggers

HTTP Webhook
New Event (polling)
Schedule
App-specific trigger

Top actions

HTTP Request
Create Record
Update Record
Send Message
Run Node.js
+1 more
Medium setup
3
triggers
6
actions
~15
min setup
Zap (webhook)
method

Find or Create Lead in one step. Salesforce is a premium app.

Top triggers

New Spreadsheet Row
Updated Row
New Salesforce Record

Top actions

Find or Create Lead
Create Lead
Update Record
SOQL Query
Medium setup
3
triggers
5
actions
~15
min setup
flow
method

Deep Microsoft 365 integration. Best when both apps have Power Automate connectors. Desktop flows add RPA capability.

Top triggers

When a record is created
When a record is modified
Scheduled flow

Top actions

Create a record
Update a record
Send a message
Post to channel
Send an email
Advanced setup
3
triggers
5
actions
~35
min setup
Workflow
method

Full SOQL query access. Bulk API support for large imports.

Top triggers

Schedule
Google Sheets Trigger
Salesforce Trigger

Top actions

Salesforce: Create
Salesforce: Update
Salesforce: SOQL

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.

When this pair isn't the right answer

Honest scenarios where Google Sheets + Salesforce via an automation platform isn't the best fit.

Salesforce Data Loader is free and built specifically for Sheet-to-Salesforce bulk loads. For scheduled imports or exports of more than about 1,000 rows, Data Loader uses the Salesforce Bulk API — dramatically faster and cheaper than row-by-row automation tool flows. The Data Import Wizard is even simpler for basic cases. Only use an automation tool when the sync needs to run on demand, trigger follow-up workflows, or combine Sheets data with another source first.

Row-by-row upserts at scale are the wrong approach. Automation tools typically call Salesforce once per row. Salesforce's Bulk API can ingest 10,000 records in a single call and is what Salesforce itself recommends above about 2,000 records. A 10,000-row nightly sync via an automation tool burns 10,000 tasks; the same job via Bulk API is one call. If your Sheet has that much data, move to Bulk API.

Salesforce Connect with the Google Sheets connector is native and live. If Salesforce needs to show Sheet data in a list view or Lightning component, Salesforce Connect can expose the Sheet as an "External Object" that Salesforce queries live — no sync job, no stale copies. It's a paid feature, but for read-only patterns it's the right choice.

What breaks at scale

Where Google Sheets + Salesforce integrations hit ceilings — API rate limits, tier quotas, and per-task economics.

Salesforce's 24-hour call limit is the real bottleneck. Enterprise Edition allocates about 1,000 calls per licensed user per 24 hours with a minimum floor. A nightly upsert of 5,000 rows one-at-a-time burns 5,000 calls before anything else runs — often 30 to 50% of a small org's daily budget. Bulk API jobs count as 1 call per batch of up to 10,000 records, which is how Salesforce expects you to handle volume.

Sheets read limits are per project, not per user. 100 reads per 100 seconds per user per project. A Zapier account running a polled Sheets read every 15 minutes across 20 different flows hits this during peak hours. You don't get errors, just slower polls — the integration falls behind without raising alarms.

Per-task pricing collapses on high-row-count syncs. Row-level upserts bill 1 task per row whether the row actually changed or not. A weekly 10,000-row sync = 40,000 tasks a month on that flow alone, which is above most team plans. Bulk API plus a simple scheduled script does the same job with about 1/40th the task count.

Our Recommendation

Make logo
Use Makefor Google Sheets + Salesforce

Make wins this pair on the math.

  • Sheets-to-Salesforce flows are routinely multi-row — a 500-row marketing list, a 2,000-row pipeline export — and Make's Iterator module processes the rows as a single scenario rather than billing one task per row.
  • Zapier's point-and-click model is faster to set up for a one-row trigger but inverts on cost the moment the Sheet has more than a few hundred rows.
  • Make also handles raw SOQL queries on the Salesforce-to-Sheets direction, which is what most useful exports actually need (Zapier hides SOQL behind point-and-click field selection that doesn't cover joins or aggregations).
  • For the dev-heavy edge cases — custom matching logic, complex field transformations — Pipedream is a cheaper alternative if the team can write a small node, but for most RevOps and marketing-ops teams the visual Iterator workflow in Make is the right balance of power and accessibility.

Analysis

Every RevOps team has a shared spreadsheet that's secretly running half the Salesforce workflow, and a Google Sheets-to-Salesforce automation is what stops the manual re-import cycle.

The pattern is the same everywhere: a marketing list lands in a Sheet, an event roster lives in a Sheet, the AE territory map sits in a Sheet — and someone, eventually, exports as CSV and walks it through Salesforce's Data Import Wizard at the end of every quarter. The pair exists to short-circuit that loop in both directions.

Sheets-to-Salesforce: a new row becomes a Lead, Contact, or Opportunity with deduplication on email or external ID. Salesforce-to-Sheets: a scheduled SOQL query writes pipeline, opportunity history, or activity counts to a tab the team actually opens.

Once both directions run, the Sheet stops being a holding pen and starts being a working surface — and the CRM stays in sync without a human in the loop.

The integration is asymmetric: Sheets-to-Salesforce is row-level and write-heavy, Salesforce-to-Sheets is query-level and read-heavy.

Going in, the trigger is "new row added" or "row updated" on a named tab, and the action is Find Record (by email, external ID, or custom matching field) followed by Create or Update — the dedup step is non-negotiable, because re-importing the same Sheet twice without it doubles every record. Going out, the trigger is a schedule (every morning at 6am, or every Monday), and the action is a SOQL query (or a Salesforce report) feeding rows back into a target tab. Make's Iterator module processes a multi-row export as a single scenario rather than one operation per row, which makes it dramatically cheaper than Zapier for any export over a few hundred rows.

Salesforce API access is required: Professional Edition with API add-on or Enterprise Edition and up; Essentials does not expose the API at all, so the cheapest Salesforce tier blocks this pair entirely.

RevOps, marketing operations, and finance teams who use Salesforce alongside spreadsheets get the clearest lift from this pair, because the spreadsheet is where the human work happens and Salesforce is where the system of record needs to live.

The recurring patterns cluster around three jobs. First, list ingestion: a partner sends a CSV of leads, marketing pastes it into a Sheet, the automation fires Find or Create Lead with source attribution and routes the new ones to the right owner — replacing the "every Friday I do the import" task.

Second, scheduled pipeline export: a SOQL query runs every morning and dumps open opportunities, stage history, and last-activity dates into a Sheet, where finance or the leadership team builds forecasts and pivot tables that don't exist as Salesforce reports. Third, mass field correction: an analyst exports a slice of records to a Sheet, fixes 200 wrong industry codes or owner assignments, and the automation writes the corrections back as Update Record actions — far faster than clicking through Salesforce list views.

Three things to check before wiring this up.

Salesforce Data Loader is free, native, and built for exactly this job at scale: it uses Bulk API 2.0, handles up to 150 million records per day, and is what Salesforce itself recommends above roughly 50,000 records — for one-time migrations or scheduled large loads, Data Loader will outperform any iPaaS by an order of magnitude. The Google-Salesforce data connector that used to live in the Workspace Marketplace was sunset in late 2024, so teams that relied on the official Workspace integration need to migrate to a third-party connector (Coefficient is the most-cited replacement for live two-way Sheets-Salesforce links).

And third, watch the API budget: Enterprise Edition starts at 100,000 calls per 24-hour rolling window plus 1,000 per licensed user, and a row-by-row sync of a 5,000-row Sheet burns 5,000 calls before any other automation runs — at that volume, switch the job to Bulk API 2.0 (which counts as one call per 10,000-record batch) instead of running it through a per-row connector.

Google Sheets + Salesforce Workflow Guides

Step-by-step setup guides for connecting Google Sheets and Salesforce.

← All integrationsPlatform comparisons →