

How to Export Salesforce Pipeline to Google Sheets with Zapier
Automatically query Salesforce for open opportunities every morning and write them to a Google Sheet.
Steps and UI details are based on platform versions at time of writing β check each platform for the latest interface.
Best for
Sales teams who want automated morning pipeline reports without coding
Not ideal for
Teams needing real-time opportunity updates or complex data transformations
Sync type
scheduledUse case type
exportReal-World Example
A 25-person SaaS sales team uses this to populate their Monday morning pipeline review spreadsheet. Before automation, their sales ops manager spent 30 minutes each day manually exporting and formatting opportunity data from Salesforce. Now the data appears automatically at 8 AM, and the team starts their weekly planning call with fresh numbers already formatted and ready to discuss.
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
Before You Start
Make sure you have everything ready.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Opportunity Name | Name | |
| Account Name | Account.Name | |
| Amount | Amount | |
| Stage Name | StageName | |
| Close Date | CloseDate | |
2 optional fieldsβΈ show
| Opportunity Owner | Owner.Name |
| Last Modified Date | LastModifiedDate |
Step-by-Step Setup
Dashboard > Create Zap > Schedule by Zapier
Create New Zap for Scheduled Export
Set up a new Zap that runs on a daily schedule to pull fresh opportunity data. The Schedule trigger is the foundation for your morning pipeline export.
- 1Click 'Create Zap' from your Zapier dashboard
- 2Select 'Schedule by Zapier' as your trigger app
- 3Choose 'Every Day' as the trigger event
- 4Set the time to 8:00 AM in your timezone
Action > Salesforce > Find Records > Account
Connect Salesforce Account
Link your Salesforce org to Zapier using your login credentials. This establishes the connection for querying opportunity data.
- 1Click the + button to add an action step
- 2Search for and select 'Salesforce' from the app list
- 3Choose 'Find Records' as the action event
- 4Click 'Sign in to Salesforce' and enter your credentials
Salesforce Action > Find Records > Search Criteria
Configure Opportunity Search Query
Set up the search parameters to find only open opportunities from your pipeline. This filters out closed deals and focuses on active prospects.
- 1Set 'Object' dropdown to 'Opportunity'
- 2In 'Search Field 1' select 'StageName'
- 3Set the operator to 'does not equal'
- 4Enter 'Closed Won,Closed Lost' in the value field
Salesforce Action > Find Records > Search Field 2
Add Date Range Filter
Limit results to recently updated opportunities to keep your export focused and avoid hitting API limits with massive datasets.
- 1Click 'Add Search Field' to create a second filter
- 2Select 'LastModifiedDate' from the dropdown
- 3Choose 'greater than' as the operator
- 4Set the value to '{{zap_meta_human_now__minus_7d}}' for last 7 days
Salesforce Action > Test Action
Test Salesforce Connection
Run a test query to verify your filters work and see what opportunity data comes back. This confirms your search criteria before connecting to Sheets.
- 1Click 'Test Action' at the bottom of the Salesforce step
- 2Wait for the query to complete (5-10 seconds)
- 3Review the returned opportunity records
- 4Verify you see Name, Amount, StageName, and other key fields
Action > Google Sheets > Create Spreadsheet Row > Account
Connect Google Sheets
Link your Google account and specify which spreadsheet will receive the opportunity data. This creates the destination for your daily exports.
- 1Click + to add another action step
- 2Search for and select 'Google Sheets'
- 3Choose 'Create Spreadsheet Row' as the action
- 4Sign in to your Google account when prompted
Google Sheets Action > Spreadsheet Selection
Select Target Spreadsheet
Choose an existing spreadsheet or create a new one specifically for your pipeline export. This determines where your opportunity data lands each morning.
- 1In 'Spreadsheet' dropdown, select your existing pipeline sheet
- 2Choose the specific worksheet tab (usually 'Sheet1')
- 3If creating new, click 'Create a new spreadsheet in Google Sheets'
- 4Name it 'Daily Pipeline Export' if creating fresh
Google Sheets Action > Column Mapping
Map Opportunity Fields to Columns
Connect Salesforce opportunity fields to specific columns in your Google Sheet. This determines what data appears where in your daily export.
- 1Click in the 'Name' column field and select 'Name' from Salesforce data
- 2Map 'Amount' field to your Amount column
- 3Connect 'StageName' to the Stage column
- 4Add 'CloseDate', 'AccountName', and 'Owner' mappings
Salesforce Action > Advanced Settings > Line Items
Handle Multiple Opportunities
Configure the Zap to create separate rows for each opportunity found in your Salesforce query. Without this, only the first result gets exported.
- 1Scroll up to the Salesforce 'Find Records' step
- 2Toggle on 'Should this step be considered a 'loop'?' option
- 3Confirm the setting shows 'Yes, treat as line items'
- 4Return to the Google Sheets step to verify mapping
Google Sheets Action > Test Action
Test Complete Workflow
Run the full Zap end-to-end to verify opportunities flow from Salesforce into your Google Sheet correctly with all field mappings intact.
- 1Click 'Test Action' on the Google Sheets step
- 2Check your Google Sheet for new rows with opportunity data
- 3Verify all mapped fields populated correctly
- 4Confirm multiple opportunities created separate rows
Zap Header > Publish Toggle
Activate Daily Schedule
Turn on your Zap to begin daily exports every morning at 8 AM. This starts the automated pipeline reporting you configured.
- 1Click the toggle switch in the top right to 'ON'
- 2Confirm the Zap shows 'Published' status
- 3Set up email notifications for errors under Zap settings
- 4Save the Zap with a clear name like 'Daily SFDC Pipeline Export'
Drop this into a Zapier Code step.
Copy this template=ARRAYFORMULA(IF(B2:B="","",TEXT(B2:B,"$#,##0")))βΈ Show code
=ARRAYFORMULA(IF(B2:B="","",TEXT(B2:B,"$#,##0")))
... expand to see full code
=ARRAYFORMULA(IF(B2:B="","",TEXT(B2:B,"$#,##0")))
Scaling Beyond 100+ opportunities per day+ Records
If your volume exceeds 100+ opportunities per day records, apply these adjustments.
Add Owner-Based Filtering
Filter by specific opportunity owners or territories instead of querying all open deals. This reduces API load and keeps exports focused on relevant pipeline data.
Split Into Multiple Zaps
Create separate Zaps for different regions or teams, each writing to different sheet tabs. This prevents any single query from overwhelming Google Sheets' API limits.
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 Zapier for this if your team wants a set-it-and-forget-it solution that requires zero coding. The visual builder makes field mapping obvious, and the Schedule trigger runs reliably every morning without server maintenance. Your sales ops person can build this in 20 minutes. Skip Zapier if you need real-time updates β the polling delay means opportunities could change after your morning export runs.
This workflow burns 1 task per opportunity found, plus 1 for the schedule trigger. If you have 50 open deals, that's 51 tasks daily or 1,530 per month. That exceeds Zapier's Starter plan (750 tasks) and needs the Professional plan at $19.99/month. Make would handle the same volume for $9/month on their Core plan. N8n cloud costs $20/month but includes 5,000 executions. Make wins on pure cost here.
Make handles Salesforce queries better with built-in SOQL support and doesn't require the awkward line-item workaround. N8n gives you actual code blocks for complex data transformations that Zapier's formatter can't handle. But Zapier's error notifications are clearer β when your SFDC connection breaks, you get a plain-English email instead of cryptic JSON error dumps. For non-technical teams, that clarity trumps the cost savings.
Salesforce's API rate limits hit at 15,000 calls per day for most orgs. Each Find Records query counts as one call, so daily exports stay well under the limit. But Google Sheets chokes on 100+ simultaneous row creates β you'll see timeout errors if your query returns massive datasets. The LastModifiedDate filter isn't just good practice, it's required to avoid breaking your automation. Also watch currency fields β Salesforce sends raw numbers like 50000.0, not formatted dollars.
Ideas for what to build next
- βAdd Slack Notifications for Large Deals β Create a second Zap that monitors your pipeline sheet and posts to #sales-team when deals over $10k appear.
- βBuild Closed Deal Tracking β Set up another daily export for deals that closed in the last week to track win/loss trends alongside your open pipeline.
- βCreate Stage Change Alerts β Use Salesforce's 'Updated Record' trigger to notify your team in real-time when opportunities move between pipeline stages.
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