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

How to Export Salesforce Pipeline to Google Sheets with Make

Daily automation that queries Salesforce for open opportunities and writes them to a Google Sheet with current pipeline data.

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

Best for

Sales teams that need daily pipeline visibility in Google Sheets with custom field selection and data formatting

Not ideal for

Teams wanting real-time sync or complex data transformations beyond basic field mapping

Sync type

scheduled

Use case type

export

Real-World Example

💡

A 25-person B2B software company uses this to give their executive team daily pipeline visibility without Salesforce licenses. Before automation, the sales ops manager spent 20 minutes each morning manually exporting and formatting opportunity data. Now leadership gets a clean Google Sheet in their inbox at 8 AM with current pipeline values, stage distribution, and close dates.

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.

Salesforce account with API access enabled
Google Sheets spreadsheet created with column headers in row 1
Make account with sufficient operation quota for daily runs
Permission to read Opportunity records in Salesforce

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Opportunity NameName
Deal AmountAmount
Sales StageStageName
Expected Close DateCloseDate
3 optional fields▸ show
Account NameAccount.Name
Opportunity OwnerOwner.Name
Days in StageLastStageChangeDate

Step-by-Step Setup

1

Scenarios > Create new scenario > Schedule

Create New Scenario

Start a fresh scenario in Make and set up the basic structure. This will be a scheduled automation that runs once daily.

  1. 1Click the blue 'Create a new scenario' button on Make dashboard
  2. 2Click the gray circle and search for 'Schedule'
  3. 3Select 'Schedule' from the results
  4. 4Choose 'Every day' and set time to 8:00 AM
What you should see: You should see a Schedule module as your first step with 'Every day at 8:00 AM' configured.
2

Module > Salesforce > Search Records

Connect Salesforce Module

Add Salesforce to query open opportunities. You'll use the Search Records module to find opportunities with specific criteria.

  1. 1Click the + button after the Schedule module
  2. 2Search for 'Salesforce' and select it
  3. 3Choose 'Search Records' from the action list
  4. 4Click 'Add' next to Connection and enter your Salesforce credentials
What you should see: Salesforce module appears connected with a green checkmark and 'Search Records' action selected.
Common mistake — Use your Salesforce username, not email address, for the connection
3

Salesforce module > Search Records > Search Criteria

Configure Opportunity Query

Set up the search to find only open opportunities. This filters out closed deals and focuses on active pipeline.

  1. 1Set Record Type to 'Opportunity'
  2. 2In Search Criteria, click Add item
  3. 3Set Field to 'StageName'
  4. 4Set Operator to 'not equal to'
  5. 5Set Value to 'Closed Won,Closed Lost'
What you should see: Search criteria shows StageName ≠ 'Closed Won,Closed Lost' which will return only open opportunities.
Common mistake — Don't use IsClosed field - stage names give you more control over what counts as 'open'
4

Salesforce module > Search Records > Limit

Set Result Limit

Control how many records the module returns. Too many records can cause timeouts or hit API limits.

  1. 1Scroll down to 'Limit' field in the Salesforce module
  2. 2Enter '1000' as the maximum number of results
  3. 3Leave 'Order By' blank for fastest query performance
What you should see: Limit field shows 1000, ensuring you won't pull more opportunities than needed.
5

Run once > Salesforce module output

Test Salesforce Connection

Run the scenario to verify your Salesforce query works. This ensures you're getting real opportunity data.

  1. 1Click 'Run once' button at the bottom of the screen
  2. 2Wait for execution to complete
  3. 3Click the Salesforce module to see output data
  4. 4Verify you see opportunity records with Name, Amount, Stage fields
What you should see: Execution shows success and Salesforce module displays sample opportunity data with fields populated.
Common mistake — If you see 'No bundles processed', your search criteria is too restrictive - check your stage names
Make
▶ Run once
executed
Google Sheets
Salesforce
Salesforce
🔔 notification
received
6

Module > Google Sheets > Clear Values

Add Google Sheets Module

Connect Google Sheets to receive the opportunity data. You'll clear existing data first, then add fresh pipeline information.

  1. 1Click + after the Salesforce module
  2. 2Search for 'Google Sheets' and select it
  3. 3Choose 'Clear Values' action
  4. 4Connect your Google account when prompted
What you should see: Google Sheets module appears with 'Clear Values' action and shows green connection status.
7

Google Sheets > Clear Values > Spreadsheet/Range

Configure Sheet Clearing

Set up the clear operation to wipe yesterday's data. This ensures your sheet always shows current pipeline without duplicates.

  1. 1Select your target spreadsheet from the dropdown
  2. 2Choose the worksheet tab (usually 'Sheet1')
  3. 3Set Range to 'A2:Z1000' to preserve headers
  4. 4Leave 'Value Input Option' as default
What you should see: Clear Values module configured to clear data rows while keeping your header row intact.
Common mistake — Never clear A1:Z1000 - you'll lose your column headers every day
8

Module > Google Sheets > Add Rows

Add Bulk Insert Module

Add another Google Sheets module to insert all opportunities at once. Bulk operations are faster than individual row inserts.

  1. 1Click + after the Clear Values module
  2. 2Search 'Google Sheets' and select 'Add Rows'
  3. 3Select the same spreadsheet and worksheet
  4. 4Set 'Value Input Option' to 'RAW'
What you should see: Second Google Sheets module appears configured for bulk row insertion into your pipeline sheet.
9

Google Sheets > Add Rows > Values

Map Opportunity Fields

Connect Salesforce opportunity data to Google Sheets columns. This determines what pipeline information appears in your daily export.

  1. 1Click in the 'A' column field and select 'Name' from Salesforce data
  2. 2Set column 'B' to map to 'Amount'
  3. 3Map column 'C' to 'StageName'
  4. 4Map column 'D' to 'CloseDate'
  5. 5Map column 'E' to 'Owner.Name'
What you should see: Field mapping shows Salesforce opportunity fields connected to Google Sheets columns A through E.
Common mistake — Use Owner.Name not OwnerId - you want readable names, not Salesforce user IDs
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
10

Run once > Google Sheets

Test Complete Workflow

Run the full scenario to verify data flows from Salesforce to Sheets correctly. Check that clearing and inserting both work.

  1. 1Click 'Run once' to execute the complete scenario
  2. 2Monitor each module for successful execution
  3. 3Open your Google Sheet to verify data appears
  4. 4Confirm column headers match your mapped fields
What you should see: Google Sheet shows fresh opportunity data with Name, Amount, Stage, Close Date, and Owner columns populated.
11

Scenario > Toggle ON > Save

Enable Scenario

Turn on the automation so it runs daily. The scenario will execute every morning at 8 AM automatically.

  1. 1Click the 'ON' toggle switch at bottom left
  2. 2Verify the schedule shows 'Every day at 8:00 AM'
  3. 3Click 'Save' to store your scenario configuration
What you should see: Scenario status shows 'ON' and displays next scheduled run time in your timezone.
Common mistake — Double-check your timezone - Make uses UTC by default, not your local time

Drop this into a Make custom function.

JavaScript — Custom Function{{formatNumber(2.Amount; ".2"; ","; "."; "$")}} - Formats Salesforce Amount field as currency with proper thousands separators and two decimal places
▸ Show code
{{formatNumber(2.Amount; ".2"; ","; "."; "$")}} - Formats Salesforce Amount field as currency with proper thousands separators and two decimal places

... expand to see full code

{{formatNumber(2.Amount; ".2"; ","; "."; "$")}} - Formats Salesforce Amount field as currency with proper thousands separators and two decimal places

Scaling Beyond 300+ opportunities daily+ Records

If your volume exceeds 300+ opportunities daily records, apply these adjustments.

1

Use pagination for large datasets

Add an iterator module after Salesforce search to process records in batches of 100. This prevents timeout errors and reduces memory usage during execution.

2

Split into multiple sheets

Create separate scenarios for different opportunity criteria (by stage, owner, or region). This distributes the API load and makes data more manageable for end users.

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 precise control over data formatting and have complex Salesforce queries. Make's visual interface makes it easy to add filters, data transformations, or conditional logic. The bulk operations handle large opportunity lists efficiently. Skip Make if you just want a simple daily export with no customization - Zapier's Salesforce integration is more plug-and-play for basic use cases.

Cost

This workflow uses about 4 operations per run - schedule trigger, Salesforce search, sheet clear, and bulk insert. At 30 runs per month, that's 120 operations total. This fits comfortably in Make's free tier (1,000 operations/month). Zapier would need a $20/month Starter plan since their free tier only covers 100 tasks monthly. N8n self-hosted would be free but requires server management.

Tradeoffs

Zapier handles Salesforce authentication more smoothly - no security token hassles. N8n offers better data transformation functions if you need to calculate pipeline metrics or format currency fields. But Make wins on visual debugging and error handling. When your scenario breaks at 3 AM, Make's execution history shows exactly which module failed and why. Zapier's logs are less detailed for troubleshooting complex workflows.

Google Sheets API has a 100-requests-per-100-seconds quota that can bite you with large opportunity lists. If you're pulling 300+ opportunities daily, the bulk insert might get throttled. Make's automatic retry handles most rate limit issues, but you'll need to add explicit delays for consistently large datasets. Also, Salesforce's field-level security applies to API queries - if your integration user can't see certain opportunity fields in the UI, they won't appear in Make either.

Ideas for what to build next

  • Add Slack notifications for big dealsCreate a filter module that catches opportunities over $50k and sends alerts to your sales channel with deal details.
  • Track pipeline changes over timeModify the scenario to append data instead of clearing, creating a historical log of how your pipeline changes daily.
  • Build executive dashboardConnect the Google Sheet to Data Studio or similar tools to create visual charts showing pipeline velocity and stage distribution.

Related guides

Was this guide helpful?
Google Sheets + Salesforce overviewMake profile →