

How to Send Weekly Pipeline Summaries to Slack with N8n
Automatically post formatted Salesforce pipeline summaries to your #sales channel every Monday morning with deal counts and values by stage.
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
Teams that need custom pipeline calculations or run N8n for other workflows already.
Not ideal for
Small teams without JavaScript skills who just want basic pipeline totals.
Sync type
scheduledUse case type
notificationReal-World Example
A 25-person B2B software company uses this to keep their distributed sales team aligned on weekly pipeline health. Before automation, the sales manager manually pulled Salesforce reports every Monday and typed summaries into Slack, taking 20 minutes and often getting delayed until Tuesday. Now the entire team sees consistent pipeline updates at 8 AM sharp every Monday.
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 n8n
Copy the pre-built n8n blueprint and paste it straight into n8n. 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.
Optional
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Opportunity Name | Name | |
| Stage Name | StageName | |
| Amount | Amount | |
| Close Date | CloseDate | |
| Is Closed | IsClosed | |
1 optional field▸ show
| Account Name | Account.Name |
Step-by-Step Setup
Workflows > + > Schedule Trigger
Create new workflow and add Schedule trigger
Start with N8n's Cron trigger to fire every Monday at 8 AM. This runs on your server timezone, so adjust accordingly.
- 1Click the purple + button in N8n dashboard
- 2Select 'Schedule Trigger' from the trigger list
- 3Set expression to '0 8 * * 1' for Mondays at 8 AM
- 4Click 'Execute Node' to test the timing
Node > Salesforce > Credentials
Connect Salesforce node
Add Salesforce credentials and configure the API connection. You'll need admin access to generate a connected app.
- 1Click + after the Schedule node
- 2Search for 'Salesforce' in the app list
- 3Select 'Create new credential'
- 4Enter your Salesforce instance URL, Client ID, and Client Secret
- 5Click 'Authenticate' and authorize N8n in the popup
Salesforce Node > Query Operation
Query all pipeline opportunities
Set up SOQL query to pull active opportunities with stage, amount, and close date. This gets raw data for processing.
- 1Set Operation to 'Query'
- 2Paste SOQL: SELECT Id, Name, StageName, Amount, CloseDate FROM Opportunity WHERE IsClosed = false
- 3Check 'Return All' to get complete dataset
- 4Click 'Test step' to verify data returns
Node > Function > JavaScript Code
Add Function node for data processing
Transform the Salesforce data into summary statistics. Calculate totals by stage and identify deals closing this week.
- 1Click + after Salesforce node
- 2Select 'Function' from the Data section
- 3Choose 'Run Once for All Items' mode
- 4Paste the JavaScript code to group and sum deals by stage
- 5Add logic to filter deals closing within 7 days
Function Node > Message Formatting
Format the Slack message
Build the weekly summary message with proper Slack formatting. Use blocks for clean presentation.
- 1Add another Function node after the first
- 2Create Slack blocks JSON structure
- 3Insert calculated values using template literals
- 4Add emoji and formatting for readability
- 5Format currency values with toLocaleString()
Slack Node > Credentials
Connect Slack credentials
Add your Slack bot token to post messages. The bot needs chat:write permission for your target channel.
- 1Click + and select 'Slack' from apps
- 2Choose 'Create new credential'
- 3Paste your Bot User OAuth Token (starts with xoxb-)
- 4Test connection by clicking 'Test'
- 5Verify bot appears in your Slack workspace
Slack Node > Post Message
Configure Slack message posting
Set up the Slack node to post your formatted summary to the sales channel. Map the blocks from your Function node.
- 1Set Resource to 'Message' and Operation to 'Post'
- 2Enter your channel name (e.g., #sales)
- 3Toggle 'Blocks' option to ON
- 4Map blocks field to output from formatting Function
- 5Set username to 'Pipeline Bot' or similar
Email: {{Email}}
Company: {{Company}}
Workflow > Settings > Error Handling
Add error handling
Set up error notification so you know if the weekly report fails. Routes errors to a different Slack channel.
- 1Click workflow Settings in top menu
- 2Enable 'Error Workflow' option
- 3Create simple error workflow with Slack notification
- 4Test by temporarily breaking the Salesforce query
- 5Verify error message posts to #alerts channel
Workflow > Execute
Test full workflow execution
Run the complete workflow manually to verify all steps work together. Check data accuracy against Salesforce.
- 1Click 'Execute Workflow' button in top toolbar
- 2Watch each node turn green in sequence
- 3Verify the Slack message posts correctly
- 4Compare totals against Salesforce reports
- 5Check that this week's deals are accurate
Workflow > Active Toggle
Activate scheduled execution
Turn on the workflow to run automatically every Monday. Monitor the first few executions to ensure reliability.
- 1Toggle the 'Active' switch in top right to ON
- 2Workflow status changes to 'Active' with green dot
- 3Check execution history after first Monday run
- 4Verify timing matches your expectations
- 5Set up execution log monitoring
Drop this into an n8n Code node.
JavaScript — Code Node// Group deals by stage and calculate totals▸ Show code
// Group deals by stage and calculate totals
const deals = items[0].json;
const summary = deals.reduce((acc, deal) => {... expand to see full code
// Group deals by stage and calculate totals
const deals = items[0].json;
const summary = deals.reduce((acc, deal) => {
const stage = deal.StageName;
acc[stage] = acc[stage] || { count: 0, total: 0 };
acc[stage].count++;
acc[stage].total += deal.Amount || 0;
return acc;
}, {});Scaling Beyond 1000+ opportunities+ Records
If your volume exceeds 1000+ opportunities records, apply these adjustments.
Add query pagination
Salesforce limits SOQL results to 2000 records. Use LIMIT and OFFSET clauses with a loop to process large opportunity datasets in batches.
Cache stage picklist values
Query Salesforce picklist metadata once and store values instead of hard-coding stage names. This prevents breaks when admins modify opportunity stages.
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 N8n for this if you need complete control over data processing and formatting. The JavaScript Function nodes let you build complex summaries with custom business logic that Make and Zapier can't match. Plus you can run it on your own server for free after the initial setup. Skip N8n if your team has zero JavaScript knowledge - Zapier's built-in formatter tools are easier for simple summaries.
This workflow uses about 4 executions per run: schedule trigger, Salesforce query, data processing, and Slack post. At weekly frequency, that's 16 executions per month. N8n's self-hosted version is completely free for unlimited executions. N8n Cloud starts at $20/month for 5,000 executions, so you'd easily fit in the base tier. Zapier would cost $20/month minimum for the scheduler and multiple steps. Make starts at $9/month but charges per operation, making this about $15/month at scale.
Make has better pre-built Salesforce modules with visual field mapping - you don't need to write SOQL queries. Zapier's Slack formatter creates rich blocks without coding. But N8n wins on flexibility - you can add complex calculations, handle multiple currencies, or build conditional formatting based on your sales process. The JavaScript nodes make it infinitely customizable compared to dropdown-based tools.
Salesforce API rate limits hit at 100,000 calls per day, but you're only making one query weekly so that's not a concern. The real gotcha is deal amounts with multiple currencies - Salesforce returns raw values without conversion, so you'll need additional API calls for exchange rates if you have international sales. Also, if someone changes the Opportunity stage picklist values in Salesforce, your summary categories will break until you update the JavaScript grouping logic.
Ideas for what to build next
- →Add deal velocity tracking — Calculate average days in each stage and flag deals that have been stalled too long in your weekly summary.
- →Create quarterly pipeline trends — Build a monthly workflow that compares current quarter pipeline to previous quarters and posts trend analysis.
- →Set up deal alerts — Add a separate daily workflow that posts to Slack when high-value deals move to closing stages or get stuck.
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