

How to Send Weekly Sales Reports from Salesforce to Google Sheets with Make
Run a SOQL query every Friday for closed-won deals and append the summary to a Google Sheets report.
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 custom SOQL queries and relationship data that basic Salesforce triggers can't provide
Not ideal for
Teams wanting real-time notifications or simple new-record triggers without custom date filtering
Sync type
scheduledUse case type
exportReal-World Example
A 30-person B2B software company uses this to track sales performance across territories. Before automation, their sales ops person spent 2 hours every Friday manually exporting deals and calculating weekly totals in Excel. Now the Google Sheet updates automatically and feeds their Monday morning sales standup with accurate win/loss data.
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 | ||
| Deal Name | Name | |
| Amount | Amount | |
| Close Date | CloseDate | |
| Account Name | Account.Name | |
2 optional fields▸ show
| Stage | StageName |
| Owner Name | Owner.Name |
Step-by-Step Setup
Scenarios > Create new scenario > Schedule
Create a new scenario
Start by creating a new Make scenario. This will contain all the modules needed to query Salesforce and update your Google Sheet.
- 1Log into Make and click 'Create a new scenario'
- 2Search for 'Schedule' in the app list
- 3Select 'Schedule' and choose 'Schedule'
Schedule module > Settings
Set weekly schedule
Configure the scheduler to run every Friday morning. This ensures your report includes all deals closed during the week.
- 1Click on the Schedule module
- 2Set 'Run scenario' to 'At regular intervals'
- 3Choose 'Week' from the interval dropdown
- 4Set day to 'Friday' and time to '9:00 AM'
- 5Click OK
Add module > Salesforce > Search Records
Add Salesforce connection
Connect to Salesforce to query your deals data. You'll use the Search Records module to run custom SOQL queries.
- 1Click the + button to add a module after Schedule
- 2Search for 'Salesforce' and select it
- 3Choose 'Search Records' from the actions list
- 4Click 'Add' next to Connection
- 5Enter your Salesforce username, password, and security token
Salesforce module > Search Records settings
Configure SOQL query
Write a SOQL query to fetch closed-won deals from the current week. This targets opportunities that closed between last Friday and today.
- 1Set Record Type to 'Opportunity'
- 2Toggle on 'Use SOQL Query'
- 3Enter: SELECT Id, Name, Amount, CloseDate, Account.Name FROM Opportunity WHERE StageName = 'Closed Won' AND CloseDate = THIS_WEEK
- 4Set Max number of records to 1000
Add module > Google Sheets > Add a Row
Add Google Sheets connection
Connect to Google Sheets where you'll append the sales data. This creates the final destination for your weekly report.
- 1Click + to add another module after Salesforce
- 2Search for 'Google Sheets' and select it
- 3Choose 'Add a Row' from the actions
- 4Click 'Create a connection'
- 5Sign in with your Google account and grant permissions
Google Sheets module > Spreadsheet selection
Select target spreadsheet
Choose the specific Google Sheet and worksheet where the sales data will be appended. Make sure the sheet exists before running the scenario.
- 1Click the Spreadsheet dropdown
- 2Select your target spreadsheet from the list
- 3Choose the worksheet tab (usually 'Sheet1')
- 4Set Table contains headers to 'Yes'
Google Sheets module > Field mapping
Map Salesforce fields to sheet columns
Map the Opportunity fields from your SOQL query to the correct columns in your Google Sheet. This determines what data appears where.
- 1Click in the Deal Name field
- 2Select 'Name' from the Salesforce data dropdown
- 3Map 'Amount' to your Amount column
- 4Map 'CloseDate' to Close Date column
- 5Map 'Account.Name' to Account column
Google Sheets module > Add column > Functions
Add date stamp column
Include a timestamp showing when each record was processed. This helps track when deals were added to your report.
- 1Add a 'Report Date' column mapping
- 2Click the function button (fx)
- 3Select 'Date and time functions' > 'now'
- 4Format as 'YYYY-MM-DD'
Scenario toolbar > Run once
Test the scenario
Run a test to verify your SOQL query returns data and maps correctly to Google Sheets. This catches configuration issues before going live.
- 1Click 'Run once' at the bottom of the screen
- 2Watch each module execute
- 3Check your Google Sheet for new rows
- 4Verify the data matches what you expect from Salesforce
Scenario controls > ON toggle
Enable the scenario
Activate the scenario to run automatically every Friday. This puts your weekly sales report on autopilot.
- 1Toggle the 'ON' switch in the bottom left
- 2Click 'OK' on the confirmation dialog
- 3Verify the scenario shows 'Active' status
Drop this into a Make custom function.
JavaScript — Custom FunctionformatDate(now(); "YYYY-MM-DD HH:mm")▸ Show code
formatDate(now(); "YYYY-MM-DD HH:mm")
... expand to see full code
formatDate(now(); "YYYY-MM-DD HH:mm")
Scaling Beyond 50+ deals per week+ Records
If your volume exceeds 50+ deals per week records, apply these adjustments.
Batch Google Sheets writes
Add an Array Aggregator module before Google Sheets to combine multiple deals into fewer API calls. Google Sheets limits you to 100 writes per minute, so batching prevents rate limit errors.
Split large queries
Use multiple SOQL queries with date ranges instead of one large query. Query Monday-Wednesday deals separately from Thursday-Friday to stay under Salesforce's 50,000 record query limit.
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 scheduling and complex SOQL queries that Zapier can't handle. Make processes Salesforce relationship queries properly and won't choke on large datasets like Zapier does at 500+ records. The visual scenario builder makes debugging SOQL easier than code. Skip Make if you just need basic Salesforce triggers — Zapier's simpler for "new opportunity" workflows without custom queries.
This workflow uses 2 operations per run (1 for Salesforce search, 1 per Google Sheets row). With 20 deals per week, that's 42 operations monthly. Make's Core plan at $9/month includes 10,000 operations, so you're covered. Zapier Professional costs $20/month for the same volume and limits SOQL complexity. Make saves you $132/year here.
Zapier handles Salesforce authentication better with OAuth instead of security tokens, and N8n gives you more data transformation options with JavaScript expressions. Zapier also polls Salesforce every 5 minutes vs Make's 15-minute intervals. But Make is the only platform that supports complex SOQL relationships like Account.Name without custom code, and its error handling shows you exactly which SOQL line failed.
Salesforce security tokens expire when you change passwords, breaking your automation silently until the next scheduled run. SOQL relationship queries have a 5-level depth limit — you can't query Opportunity.Account.Owner.Manager.Name. Google Sheets API has a 100-cell write limit per request, so weeks with 50+ deals need the Array Aggregator module to batch writes properly.
Ideas for what to build next
- →Add Slack notifications for big wins — Send a message to your sales channel when the weekly report includes deals over $50k using Make's conditional routing.
- →Create charts from the data — Use Google Sheets' built-in charting to visualize weekly trends, or connect the sheet to Data Studio for executive dashboards.
- →Track lost deals too — Modify the SOQL query to include Closed Lost opportunities and analyze win/loss ratios by adding StageName = 'Closed Lost' with OR logic.
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