Beginner~12 min setupCRM & CommunicationVerified April 2026
Salesforce logo
Slack logo

How to Post Salesforce Closed Deals to Slack with Make

Automatically post to #wins when a Salesforce deal closes with deal name, value, rep name, and account details.

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 close 20+ deals monthly and want real-time Slack celebrations with rich deal details.

Not ideal for

Small teams with fewer than 10 deals per month or orgs that prefer email notifications over Slack.

Sync type

real-time

Use case type

notification

Real-World Example

💡

A 25-person B2B SaaS sales team uses this to instantly notify #sales-wins whenever a Salesforce opportunity hits 'Closed Won' stage. Before automation, their sales manager manually posted wins twice daily, often missing weekend closures and reducing team momentum. Now celebrations happen within 30 seconds of deal closure, including deal size and rep name for proper recognition.

What Will This Cost?

Drag the slider to your expected monthly volume.

/mo
505005K50K

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

Skip the setup

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.

Salesforce admin or user account with read access to Opportunities and Users
Slack workspace admin rights or permission to install apps
A #wins or similar celebration channel created in Slack
Make account with available operations in your monthly quota
Know your exact Salesforce closed-won stage name

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Deal NameName
Deal AmountAmount
Sales RepOwner.Name
Account NameAccount.Name
Deal StageStageName
Opportunity IDId
1 optional field▸ show
Close DateCloseDate

Step-by-Step Setup

1

Dashboard > Create scenario > + > Salesforce

Create New Scenario

Set up a new Make scenario to connect Salesforce opportunities to Slack. This establishes the foundation for your deal celebration workflow.

  1. 1Click 'Create a new scenario' from your Make dashboard
  2. 2Click the '+' button to add your first module
  3. 3Search for 'Salesforce' in the app selector
  4. 4Select 'Salesforce' from the results
What you should see: You should see the Salesforce module added to your scenario canvas with configuration options.
2

Salesforce module > Watch Records > Opportunity

Configure Salesforce Trigger

Set up the trigger to fire when opportunities reach closed-won status. This ensures you only celebrate actual wins, not other opportunity updates.

  1. 1Select 'Watch Records' from the Salesforce trigger options
  2. 2Choose 'Opportunity' as the record type
  3. 3Set the condition field to 'StageName'
  4. 4Enter your closed-won stage name (typically 'Closed Won' or 'Closed - Won')
  5. 5Set 'Maximum number of records' to 10
What you should see: The trigger should show 'Opportunity' selected with your closed-won stage filter configured.
Common mistake — Make sure the stage name matches exactly what's in your Salesforce - case sensitive and including any hyphens or spaces.
Make
+
click +
search apps
Salesforce
SA
Salesforce
Configure Salesforce Trigger
Salesforce
SA
module added
3

Salesforce module > Connection > Add

Connect Salesforce Account

Authenticate your Salesforce connection to allow Make to read opportunity data. This creates the secure link between platforms.

  1. 1Click 'Add connection' in the connection dropdown
  2. 2Enter your Salesforce login URL (login.salesforce.com or your custom domain)
  3. 3Click 'Continue' to open Salesforce authentication
  4. 4Log in to Salesforce and click 'Allow' to grant permissions
  5. 5Return to Make and verify the connection shows as 'Connected'
What you should see: You should see a green 'Connected' indicator next to your Salesforce connection name.
Common mistake — If using a custom Salesforce domain, use your specific login URL - not the generic login.salesforce.com.
Make settings
Connection
Choose a connection…Add
click Add
Salesforce
Log in to authorize
Authorize Make
popup window
Connected
green checkmark
4

Scenario > Run once

Test Salesforce Connection

Run a test to verify Make can read your opportunity data correctly. This validates your trigger configuration and field access.

  1. 1Click 'Run once' at the bottom of the scenario
  2. 2Create a test opportunity in Salesforce and move it to closed-won status
  3. 3Return to Make and check if the trigger fired
  4. 4Review the output data to confirm all needed fields are present
What you should see: The Salesforce module should show a green checkmark with sample opportunity data including Name, Amount, and Owner fields.
Common mistake — If no data appears, check your Salesforce user permissions - you need read access to Opportunities and User objects.
Make
▶ Run once
executed
Salesforce
Slack
Slack
🔔 notification
received
5

Scenario > + > Slack > Create a Message

Add Slack Module

Insert the Slack module to handle posting celebration messages. This creates the output channel for your deal notifications.

  1. 1Click the '+' button after your Salesforce module
  2. 2Search for 'Slack' in the app selector
  3. 3Select 'Slack' from the results
  4. 4Choose 'Create a Message' as the action type
What you should see: A new Slack module should appear connected to your Salesforce trigger with message configuration options.
6

Slack module > Connection > Add

Connect Slack Account

Authenticate your Slack workspace to enable message posting. This gives Make permission to post on behalf of the bot user.

  1. 1Click 'Add connection' in the Slack connection dropdown
  2. 2Select your Slack workspace from the list
  3. 3Click 'Allow' to grant Make posting permissions
  4. 4Return to Make and verify the connection is established
What you should see: Your Slack workspace should show as connected with a green status indicator.
Common mistake — Make sure you're a Slack admin or have permission to install apps - otherwise the connection will fail.
7

Slack module > Channel > #wins

Configure Slack Channel

Set up the destination channel and basic message structure. This determines where celebrations appear and who sees them.

  1. 1Select your #wins channel from the Channel dropdown
  2. 2Set 'Text' as the message type
  3. 3Leave 'As User' unchecked to post as the Make bot
  4. 4Set thread timestamp to empty (post as new message, not reply)
What you should see: The channel field should show your #wins channel selected with Text message type configured.
Common mistake — If #wins doesn't appear in the dropdown, the Make bot needs to be invited to that channel first.
8

Slack module > Text field

Build Celebration Message

Create the message template using Salesforce data fields. This formats your deal details into an engaging team announcement.

  1. 1Click in the 'Text' field to open the mapping panel
  2. 2Type '🎉 New Win! ' as your message opening
  3. 3Insert the 'Name' field from Salesforce data
  4. 4Add ' - $' followed by the 'Amount' field
  5. 5Insert a line break and add 'Rep: ' followed by the 'Owner Name' field
  6. 6Add another line with 'Account: ' and the 'Account Name' field
What you should see: Your message template should show mapped fields in blue tags with your custom text around them.
Common mistake — Don't map the raw Owner ID - use Owner > Name to get the actual rep name instead of a Salesforce ID.
Message template
🔔 New Lead: {{1.FirstName}} {{1.LastName}}
Email: {{1.Email}}
Company: {{1.Company}}
Status: {{1.LeadStatus}}
9

Slack module > Text field

Add Deal Link

Include a direct link to the Salesforce opportunity for easy access. This lets team members quickly view deal details if needed.

  1. 1Add a new line in your message template
  2. 2Type 'View Deal: '
  3. 3Insert your Salesforce base URL (like https://yourorg.lightning.force.com/)
  4. 4Add '/lightning/r/Opportunity/'
  5. 5Map the opportunity 'Id' field from Salesforce
  6. 6Add '/view' at the end
What you should see: Your message template should include a complete Salesforce URL with the opportunity ID mapped in the middle.
Common mistake — Use your organization's actual Salesforce URL - the generic lightning.force.com won't work for your users.
10

Scenario > Run once

Test Complete Workflow

Run the full scenario to verify Slack messages post correctly. This validates your entire workflow end-to-end.

  1. 1Click 'Run once' to execute the complete scenario
  2. 2Check your #wins Slack channel for the test message
  3. 3Verify all fields populated correctly (deal name, amount, rep, account)
  4. 4Test the Salesforce link by clicking it
  5. 5Confirm the message format looks professional
What you should see: A formatted celebration message should appear in #wins with all deal details and a working Salesforce link.
Common mistake — If the amount shows as a long decimal, you'll need to add a formatNumber function to round it to 2 decimal places.
11

Salesforce module > Schedule (clock icon)

Set Scenario Schedule

Configure how frequently Make checks for new closed deals. This determines the delay between deal closure and celebration.

  1. 1Click the clock icon on your Salesforce trigger module
  2. 2Select 'Every 15 minutes' from the schedule options
  3. 3Set the start time to your current time
  4. 4Click 'OK' to save the schedule
What you should see: The trigger should show a clock icon with 'Every 15 minutes' displayed underneath.
Common mistake — Don't set it faster than 15 minutes - Salesforce APIs have rate limits and you'll hit them with shorter intervals.
12

Scenario > ON/OFF toggle

Activate Scenario

Turn on your workflow to start celebrating deals automatically. This puts your scenario into production mode.

  1. 1Click the 'ON/OFF' toggle switch in the bottom left
  2. 2Confirm activation when prompted
  3. 3Verify the scenario shows as 'ON' with a green indicator
  4. 4Save your scenario with a descriptive name like 'Closed Deals to Slack'
What you should see: Your scenario should show as 'ON' with a green status and be actively monitoring for new closed deals.

Drop this into a Make custom function.

JavaScript — Custom FunctionformatCurrency({{Amount}}; "USD") - Properly formats Salesforce amounts as $1,234.56 instead of 1234.56000
▸ Show code
formatCurrency({{Amount}}; "USD") - Properly formats Salesforce amounts as $1,234.56 instead of 1234.56000

... expand to see full code

formatCurrency({{Amount}}; "USD") - Properly formats Salesforce amounts as $1,234.56 instead of 1234.56000

Scaling Beyond 100+ deals/month+ Records

If your volume exceeds 100+ deals/month records, apply these adjustments.

1

Batch Messages

Switch to a 1-hour schedule and use an aggregator to combine multiple wins into a single Slack post. This prevents channel flooding during busy sales periods.

2

Add Filters

Include minimum deal size filters to celebrate only significant wins. Most teams set thresholds at $5K-10K to avoid noise from small deals.

3

Use Slack Blocks

Replace plain text with Slack's Block Kit formatting for richer messages with buttons and formatted data. This provides more information without increasing message volume.

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

VerdictWhy Make for this workflow

Use Make for this if you need real-time celebrations and your team closes more than 20 deals per month. Make's Salesforce webhook triggers fire within 30 seconds of stage changes, while Zapier polls every 15 minutes on paid plans. The visual scenario builder makes it easy to add conditions like deal size thresholds or different messages for different products. Skip Make if you're on HubSpot instead - Zapier's HubSpot integration handles deal stage webhooks more reliably.

Cost

This workflow uses 2 operations per closed deal - one Salesforce trigger and one Slack message. At 50 deals per month, that's 100 operations total. Make's Core plan at $9/month includes 10,000 operations, so you're nowhere near the limit. Zapier would cost $20/month for the same volume since you need their Starter plan for webhooks. N8N self-hosted is free but requires server maintenance that costs more than the $11/month you save.

Tradeoffs

Zapier handles Salesforce field formatting better out of the box - their Amount field automatically shows as currency without custom functions. N8N has better conditional logic if you want different celebration messages based on deal size or product type. But Make wins on speed and visual debugging. When your scenario breaks at 2 AM, Make's execution logs show exactly which module failed and why, while Zapier's error messages are often vague.

Salesforce's API returns opportunity owner as a User ID, not a name, so you'll spend 10 minutes figuring out why your messages show random IDs instead of rep names. The webhook only fires on stage changes after you activate it - historical closed deals won't trigger celebrations, which confuses teams during testing. If your org uses custom opportunity fields for deal categorization, you'll need to map those separately since Make doesn't auto-detect custom fields during setup.

Ideas for what to build next

  • Add Monthly LeaderboardsCreate a Google Sheets integration that logs all wins and automatically posts monthly top performer summaries to Slack.
  • Escalate Large DealsSet up a separate path for deals over $50K that mentions @channel and posts to #leadership instead of just #wins.
  • Include Deal HistoryAdd a Slack thread reply with timeline data showing how long the deal took from creation to close and key milestone dates.

Related guides

Was this guide helpful?
Salesforce + Slack overviewMake profile →