

How to Send Salesforce Opportunity Stage Changes to Slack with Zapier
Automatically send a Slack DM to the deal owner when a Salesforce opportunity moves to a new stage, including deal name, value, probability, and close date.
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 wanting instant Slack notifications when Salesforce opportunities change stages without any coding required.
Not ideal for
High-volume sales orgs with 500+ monthly stage changes where per-task pricing becomes expensive compared to unlimited plans.
Sync type
pollingUse case type
notificationReal-World Example
A 25-person B2B SaaS sales team uses this to notify deal owners instantly when opportunities move to 'Negotiation' or 'Closed Won' stages. Before automation, reps checked Salesforce manually every few hours and often missed urgent stage changes that needed immediate follow-up. Now they respond to hot deals within minutes instead of hours.
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.
Optional
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Opportunity Name | Name | |
| Stage Name | StageName | |
| Amount | Amount | |
| Probability | Probability | |
| Close Date | CloseDate | |
| Owner Email | Owner.Email | |
Step-by-Step Setup
Dashboard > Create Zap
Create New Zap
Start building your automation by creating a new Zap in Zapier. This will be the container for your Salesforce-to-Slack workflow.
- 1Click the orange 'Create Zap' button from your dashboard
- 2You'll be taken to the Zap editor with Step 1 already selected
Zap Editor > Step 1 > Choose App & Event
Set Up Salesforce Trigger
Configure Salesforce as your trigger app. You'll use the Updated Record trigger to catch when opportunities change stages.
- 1Type 'Salesforce' in the app search box
- 2Select 'Salesforce' from the dropdown results
- 3Choose 'Updated Record' as the trigger event
- 4Click 'Continue'
Zap Editor > Step 1 > Choose Account
Connect Salesforce Account
Link your Salesforce org to Zapier so it can monitor opportunity changes. You'll need admin permissions or API access.
- 1Click 'Sign in to Salesforce'
- 2Enter your Salesforce username and password
- 3Click 'Allow' when prompted for API access
- 4Click 'Continue' once connected
Zap Editor > Step 1 > Set up trigger
Configure Object and Fields
Tell Zapier to monitor the Opportunity object and specify which field changes should trigger the Zap.
- 1Select 'Opportunity' from the Object dropdown
- 2In the 'Updated Fields' section, choose 'StageName'
- 3Leave other fields blank to monitor all stage changes
- 4Click 'Continue'
Zap Editor > Step 1 > Test
Test Salesforce Trigger
Zapier will pull a recent opportunity update to use as sample data for building your Slack message.
- 1Click 'Test trigger'
- 2Wait for Zapier to find recent opportunity updates
- 3Review the sample data to confirm it includes StageName, Amount, Probability, and CloseDate
- 4Click 'Continue with selected record'
Zap Editor > + > Step 2
Add Slack Action Step
Add Slack as your action app to send the DM notification to the deal owner.
- 1Click the '+' button to add Step 2
- 2Type 'Slack' in the app search box
- 3Select 'Slack' from the results
- 4Choose 'Send Direct Message' as the action event
- 5Click 'Continue'
Zap Editor > Step 2 > Choose Account
Connect Slack Account
Authorize Zapier to send messages through your Slack workspace on behalf of your connected user.
- 1Click 'Sign in to Slack'
- 2Select your workspace from the dropdown
- 3Click 'Allow' to grant Zapier permissions
- 4Verify the correct workspace appears as connected
Zap Editor > Step 2 > Set up action
Configure Message Recipient
Set up the message to go to the opportunity owner by mapping the Salesforce Owner field to Slack's To field.
- 1In the 'To' field, click the data picker icon
- 2Select 'Owner Email' from the Salesforce trigger data
- 3If Owner Email isn't available, use 'Owner: Name' instead
🔔 New Lead: {{1.FirstName}} {{1.LastName}}
Email: {{1.Email}}
Company: {{1.Company}}
Status: {{1.LeadStatus}}Zap Editor > Step 2 > Message field
Build the Message Content
Create a formatted message with all the deal details requested: name, value, probability, and close date.
- 1Click in the 'Message' text box
- 2Type: 'Deal Update: ' then insert 'Name' from trigger data
- 3Add a new line and insert: 'Stage: StageName'
- 4Add: 'Value: $Amount | Probability: Probability% | Close Date: CloseDate'
- 5Preview the message format with sample data
🔔 New Lead: {{1.FirstName}} {{1.LastName}}
Email: {{1.Email}}
Company: {{1.Company}}
Status: {{1.LeadStatus}}Zap Editor > Step 2 > Test
Test Slack Action
Send a test message to verify the formatting and recipient mapping work correctly.
- 1Click 'Test step' to send the sample message
- 2Check the target Slack user's DMs for the test message
- 3Verify all fields populated correctly and formatting looks clean
- 4Return to Zapier and click 'Continue'
Zap Editor > Zap Settings
Name and Turn On Zap
Give your automation a descriptive name and activate it to start monitoring live opportunity stage changes.
- 1Click the pencil icon next to 'Untitled Zap'
- 2Type 'SF Opp Stage Changes → Slack DM'
- 3Click the toggle switch to turn the Zap ON
- 4Click 'Publish Zap' to confirm
Drop this into a Zapier Code step.
JavaScript — Code Step{{amount__currency}} for auto-formatted currency in Slack messages, or use Zapier's Formatter with this formula: CONCATENATE("$", TEXT(amount, "#,##0"))▸ Show code
{{amount__currency}} for auto-formatted currency in Slack messages, or use Zapier's Formatter with this formula: CONCATENATE("$", TEXT(amount, "#,##0"))... expand to see full code
{{amount__currency}} for auto-formatted currency in Slack messages, or use Zapier's Formatter with this formula: CONCATENATE("$", TEXT(amount, "#,##0"))Scaling Beyond 300+ stage changes/month+ Records
If your volume exceeds 300+ stage changes/month records, apply these adjustments.
Switch to Make for unlimited operations
At 300+ monthly stage changes, Make's $9 unlimited plan saves $35+ monthly compared to Zapier's Starter plan. The migration takes 30 minutes.
Add stage filters to reduce noise
Use Zapier's Filter step to only trigger on important stages like 'Proposal', 'Negotiation', or 'Closed Won'. Early-stage movements generate notification fatigue.
Batch notifications for busy reps
Consider switching to a daily digest format using Zapier's Digest feature if individual reps own 50+ active opportunities that change stages frequently.
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 doesn't code and you need something running in 20 minutes. The guided builder makes trigger setup foolproof, and Slack's DM targeting works better here than Make's chat integrations. Pick Make instead if you're sending 1000+ stage changes per month — its unlimited plan at $9/month beats Zapier's per-task pricing.
This workflow burns 1 task per stage change. At 200 stage changes monthly, that's 200 tasks fitting Zapier's Starter plan at $20/month. Make handles unlimited operations for $9/month, saving $11 monthly. N8n's self-hosted version costs nothing but requires server management. For most sales teams under 500 monthly stage changes, Zapier's reliability justifies the extra cost.
Make's Salesforce trigger updates faster — 2 minutes vs Zapier's 5-15 minute polling delay. N8n gives you custom JavaScript for advanced message formatting that Zapier's Formatter can't handle. But Zapier's error handling beats both platforms for this use case — failed Slack DMs automatically retry 3 times with escalating delays, while Make and N8n require manual retry configuration.
Salesforce's API has quirks you'll discover after setup. The Updated Record trigger fires on ANY field change if you don't specify Updated Fields correctly — you'll flood Slack with notifications from address updates and note additions. Probability percentages come as decimals (0.75 not 75%), so format them properly. Owner matching fails silently when Salesforce emails don't match Slack user emails exactly — test with your actual team's data, not sample records.
Ideas for what to build next
- →Add deal closure notifications — Create a second Zap that sends a team-wide Slack celebration when opportunities reach 'Closed Won' status with confetti emoji and deal details.
- →Build a stage change log — Connect the same trigger to Google Sheets to create an audit trail of all opportunity stage changes with timestamps for pipeline analysis.
- →Create manager escalation alerts — Add a Filter and second Slack action to notify sales managers when high-value deals (over $50k) move to negotiation 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