

How to Send Weekly Pipeline Summaries from Salesforce to Slack with Make
Automatically posts formatted pipeline reports to your sales Slack channel every Monday with deal values, stage breakdowns, and closing opportunities.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Slack for Salesforce exists as a native integration, but it limited to record notifications without custom logic. This guide uses an automation platform for full control. View native option →
Best for
Sales teams who want consistent Monday morning pipeline visibility with custom formatting and stage-by-stage breakdowns.
Not ideal for
Teams needing real-time pipeline alerts or those with constantly changing Salesforce stage names that would break the aggregation logic.
Sync type
scheduledUse case type
notificationReal-World Example
A 25-person B2B software company uses this to post pipeline summaries in #sales-team every Monday at 9 AM. Before automation, their sales manager spent 30 minutes each Monday pulling Salesforce reports, calculating stage totals, and typing updates into Slack. Now the team gets consistent visibility into their $2.3M pipeline with deals closing this week highlighted automatically.
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 | ||
| Opportunity Name | Name | |
| Amount | Amount | |
| Stage Name | StageName | |
| Close Date | CloseDate | |
2 optional fields▸ show
| Account Name | Account.Name |
| Owner Name | Owner.Name |
Step-by-Step Setup
Scenarios > + > Schedule
Create New Scenario
Start a new Make scenario and add a Schedule trigger. This will run your pipeline summary every Monday morning at 9 AM.
- 1Click 'Create a new scenario' from your Make dashboard
- 2Click the clock icon to add a Schedule trigger
- 3Set schedule to 'Weekly' and select 'Monday'
- 4Set time to 9:00 AM in your timezone
Scenarios > Add Module > Salesforce > Search Records
Connect Salesforce
Add Salesforce and connect your account. You'll need admin permissions to access opportunity data across all users.
- 1Click the + button after the Schedule module
- 2Search for 'Salesforce' and select it
- 3Choose 'Search Records' from the action list
- 4Click 'Create a connection' and sign in to Salesforce
Salesforce Module > Configuration
Configure Opportunity Query
Set up the search to grab all open opportunities. This pulls current pipeline data for your weekly summary.
- 1Select 'Opportunity' as the Record Type
- 2Set Maximum number of records to 5000
- 3In Search criteria, add: StageName != 'Closed Won' AND StageName != 'Closed Lost'
- 4Leave Order By empty for faster queries
Add Module > Tools > Text Aggregator
Add Text Aggregator
This module will process all opportunities and calculate totals. Without it, you'd get individual messages for each deal instead of one summary.
- 1Click + after the Salesforce module
- 2Search for 'Text Aggregator' and select it
- 3Set Source Module to the Salesforce module
- 4Leave Text field empty for now — we'll build the summary format next
Text Aggregator > Configuration
Build Summary Format
Create the pipeline summary template with totals and stage breakdowns. This formats your data into a readable Slack message.
- 1Click in the Text field of the Text Aggregator
- 2Add this template: 📊 *Weekly Pipeline Summary - {{formatDate(now; 'MMM DD')}*\n\n💰 *Total Pipeline:* ${{sum(Amount)}}\n\n*By Stage:*\n{{Name}}: ${{Amount}} ({{CloseDate}})\n
- 3Set Row separator to empty
- 4Enable Group by and select 'StageName'
🔔 New Lead: {{1.FirstName}} {{1.LastName}}
Email: {{1.Email}}
Company: {{1.Company}}
Status: {{1.LeadStatus}}Text Aggregator > Text Field
Add Pipeline Calculations
Insert formulas to calculate total pipeline value and count deals by stage. This gives your team the key metrics they need.
- 1After the Total Pipeline line, add: *Deals by Stage:*\n
- 2Add stage counts: {{size(bundle)}} deals\n
- 3Insert closing this week filter: *Closing This Week:*\n{{if(parseDate(CloseDate) <= addDays(now; 7); Name + ' - $' + Amount; '')}}
- 4Add line breaks with \n between sections
Add Module > Slack > Create a Message
Connect Slack
Add Slack to post your formatted summary. You'll need permission to post in the target channel.
- 1Click + after the Text Aggregator
- 2Search for 'Slack' and select it
- 3Choose 'Create a Message' action
- 4Click 'Create a connection' and authorize Make in your Slack workspace
Slack Module > Configuration
Configure Slack Message
Set the target channel and map your formatted summary. This determines where your team sees the weekly pipeline update.
- 1Select your #sales channel from the Channel dropdown
- 2In Text field, map the 'Text' output from Text Aggregator
- 3Set Username to 'Pipeline Bot'
- 4Enable 'Parse' for proper formatting
🔔 New Lead: {{1.FirstName}} {{1.LastName}}
Email: {{1.Email}}
Company: {{1.Company}}
Status: {{1.LeadStatus}}Module > Right Click > Add Error Handler
Add Error Handling
Set up error handling for API failures. Salesforce timeouts or Slack rate limits can break your automation without this.
- 1Right-click the Salesforce module
- 2Select 'Add error handler' > 'Resume'
- 3Configure Resume to continue with empty data
- 4Repeat for the Slack module
Scenario > Run Once
Test the Scenario
Run a test to verify data pulls correctly and Slack receives a properly formatted message. This catches mapping errors before going live.
- 1Click 'Run once' at the bottom of the scenario
- 2Watch each module execute and check for green checkmarks
- 3Verify the pipeline summary appears in your Slack channel
- 4Check that dollar amounts and deal counts look accurate
Scenario > Toggle > Save
Activate Scheduling
Turn on the scenario to run automatically every Monday. Your sales team will now get consistent pipeline visibility without manual work.
- 1Click the 'OFF' toggle in the top left to 'ON'
- 2Verify the schedule shows 'Next execution: Monday 9:00 AM'
- 3Save the scenario with a clear name like 'Weekly Sales Pipeline to Slack'
- 4Add team members as collaborators if needed
Drop this into a Make custom function.
JavaScript — Custom Function{{if(parseDate(CloseDate; 'YYYY-MM-DD') >= now AND parseDate(CloseDate; 'YYYY-MM-DD') <= addDays(now; 7); '🔥 ' + Name + ' - $' + formatNumber(Amount); '')}}▸ Show code
{{if(parseDate(CloseDate; 'YYYY-MM-DD') >= now AND parseDate(CloseDate; 'YYYY-MM-DD') <= addDays(now; 7); '🔥 ' + Name + ' - $' + formatNumber(Amount); '')}}... expand to see full code
{{if(parseDate(CloseDate; 'YYYY-MM-DD') >= now AND parseDate(CloseDate; 'YYYY-MM-DD') <= addDays(now; 7); '🔥 ' + Name + ' - $' + formatNumber(Amount); '')}}Scaling Beyond 500+ opportunities+ Records
If your volume exceeds 500+ opportunities records, apply these adjustments.
Split by Region
Create separate scenarios for different sales regions or teams to avoid Salesforce query timeouts. Each scenario handles 200-300 opportunities maximum for reliable execution.
Add Pagination
Use Make's iterator module to handle large result sets in chunks of 200 records. This prevents API timeouts and reduces memory usage during aggregation processing.
Cache Results
Store aggregated results in a Google Sheet or database module first, then reference cached data for Slack posting. This separates data processing from notification delivery for better reliability.
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 flexible pipeline calculations and custom Slack formatting. Make's Text Aggregator handles complex grouping better than Zapier's basic formatters, and you can build sophisticated formulas for stage analysis. The visual builder makes it easy to add conditional logic for deals closing this week. Skip Make only if you need real-time updates — the scheduled approach means pipeline changes won't appear until next Monday.
This workflow uses about 50 operations per run — 1 for scheduling, 5-10 for Salesforce queries depending on record volume, 35-40 for text aggregation processing, and 1 for Slack posting. At weekly frequency, that's 200 operations monthly, fitting comfortably in Make's free tier of 1,000 ops/month. Zapier would need their $20/month plan since their free tier caps at 100 tasks, and N8n self-hosted requires server maintenance that costs more than Make's $9/month starter plan.
Zapier beats Make on Salesforce connection reliability — their OAuth rarely expires compared to Make's quarterly reconnection prompts. N8n offers better date/time manipulation functions out of the box, while Make requires custom formulas for timezone handling. But Make wins on aggregation capabilities and Slack formatting options. Zapier's formatter can't group by stage names efficiently, and N8n's Slack node doesn't handle threaded conversations well if you want to add follow-up context.
Salesforce's SOQL query limits will bite you at 200+ opportunities — the default 2-minute timeout kills large pipeline pulls, forcing you to add pagination logic. Make's error handling doesn't automatically retry rate limit errors, so busy Monday mornings when multiple automations run can cause failures. The Text Aggregator module struggles with null values in Amount fields, showing 'NaN' instead of $0 unless you add null-checking formulas. Test with your actual data volume, not Make's sample records.
Ideas for what to build next
- →Add Deal Alerts — Create a separate scenario that posts to Slack whenever a large deal moves to the final stage or goes overdue.
- →Build Win/Loss Tracking — Set up weekly closed deal summaries showing wins, losses, and win rates by rep or region for complete sales visibility.
- →Create Pipeline Trends — Log weekly pipeline totals to Google Sheets to track growth trends and identify seasonal patterns in your sales data.
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