Slack and Salesforce Integration: How to Connect Them Properly
Three ways to integrate Slack and Salesforce - Salesforce's native Slack app, iPaaS, or custom. What syncs, what alerts to build, and what to avoid.
Jump to a section
You can connect Slack and Salesforce three ways: through the native Slack-Salesforce integration (Salesforce owns Slack as of 2021, so this is a first-party product), via an iPaaS like Zapier or Make, or with a custom build against both APIs. For most teams the native integration is the answer - it’s actively developed by Salesforce, includes deal rooms and record sharing, and works on every paid Slack and Salesforce tier.
This guide covers all three paths, what data flows between the two systems, the most useful alerts to build, and the pricing tiers that gate certain features.
The 60-second answer
Use the native Salesforce for Slack app. It’s free to install, supports two-way actions (view records in Slack, create tasks from Slack messages, send Slack messages from Salesforce flows), and integrates deal-room collaboration directly into channels.
Reach for iPaaS or custom only when:
- You need notification logic the native app doesn’t expose (e.g., “alert this channel when an opportunity over $50K closes, but only for the EMEA team”)
- You want Slack messages to trigger more than just Salesforce actions (cross-system fan-out)
- Your Salesforce edition doesn’t support all the native integration features
- You need very specific message formatting or interactive blocks the native app doesn’t render
The three integration paths
Path 1: Native Salesforce for Slack
Salesforce acquired Slack in 2021 and has been building the integration since. The current product is called Salesforce for Slack (or “Sales Cloud for Slack,” “Service Cloud for Slack,” depending on which Cloud you have). It’s a Salesforce-built Slack app.
What you get:
- Record sharing - paste a Salesforce record link in Slack and get an unfurled preview with key fields
- Inline actions - view, edit, and update Salesforce records (Account, Contact, Lead, Opportunity, Case) without leaving Slack
- Notifications - subscribe channels or DMs to record changes (stage moves, owner changes, new comments)
- Slack Sales Elevate (paid add-on) - deal rooms, account channels, and AI-driven deal alerts
- Flow integration - trigger Slack messages from Salesforce Flow (Process Builder is deprecated; use Flow)
- Slack actions from Salesforce - send a Slack message as a Flow action on any record change
Pros: First-party, free at the base level, deep integration with Flow, supports interactive components.
Cons: Some features require Slack Sales Elevate (paid). Configuring notifications well requires both Salesforce admin and Slack admin work. Logic options for filtering notifications are limited compared to a Flow + iPaaS combination.
Pricing: The base Salesforce for Slack app is free to install. Slack Sales Elevate is a paid Slack add-on (per-user/month, varies by region). On the Salesforce side, you need at least Professional Edition with API/Flow access.
Path 2: iPaaS - Zapier, Make, n8n, Workato
Use a platform that has both Slack and Salesforce connectors.
Common workflow shapes:
- “When a Salesforce Opportunity moves to Closed Won, post a celebration to #wins with deal size and rep”
- “When a Salesforce Case is created with priority High, DM the on-call engineer in Slack and create an internal ticket”
- “When a message in #renewals matches certain keywords, log it as an Activity on the related Salesforce Account”
- “When a Slack form submission happens via Workflow Builder, create a Lead in Salesforce and notify the rep”
Pros: Filter logic, transformation, cross-system fan-out, easy iteration on alert formatting.
Cons: Per-task or per-execution costs. Re-implementing notification logic that the native app handles for free.
Pricing: Zapier from ~$30/month; Make from $10/month; n8n self-hosted ~$30-100/month flat infrastructure. Salesforce API calls count toward your daily limit either way.
Path 3: Custom integration
Use Salesforce’s REST API and Streaming API plus Slack’s Bolt SDK and Events API.
When this makes sense:
- You need to handle high-volume alerting (thousands of messages/day) with reliability and rate-limit handling
- You’re building an internal AI agent that reads Slack and writes to Salesforce, or vice versa
- You have engineering capacity and need ultra-low-latency two-way sync
Pros: Complete control. No vendor pricing tied to volume.
Cons: You’re now operating infrastructure that has to deal with Slack rate limits, Salesforce API limits, OAuth token rotation, and error retries. Budget engineering time accordingly.
What flows between Slack and Salesforce
Salesforce → Slack
- Record-change notifications (stage moves, ownership changes, key field updates)
- Flow-triggered messages (custom logic-driven alerts)
- Approval requests (route approval steps to Slack)
- Deal/Account channel updates (with Sales Elevate)
- Case status changes (Service Cloud)
- Reports and dashboards (manual or scheduled share)
Slack → Salesforce
- Create Lead/Contact/Opportunity/Case from a Slack message via “Take action” menu
- Log Slack messages as Activities on a record
- Update record fields via shortcuts and modals
- Slack Workflow Builder forms creating records
- Sales Elevate channel discussions captured against the related Account
What doesn’t sync natively
- Attachments and files (you can link them, but file objects don’t sync to Salesforce)
- Full message-thread history (you log specific messages, not entire threads automatically)
- Slack DMs (privacy boundary - DMs aren’t subject to Salesforce logging without explicit user action)
- Custom objects in some edge cases (depends on edition and configuration)
Step-by-step: setting up Salesforce for Slack
1. Install the Slack app in Salesforce
In Salesforce Setup, search for Slack Setup. Enable Slack and authenticate your Slack workspace. You need workspace admin permissions on the Slack side and System Administrator on the Salesforce side.
2. Install the Salesforce app in Slack
From the Slack App Directory, install Salesforce. Authenticate against your Salesforce org. This creates the two-way connection.
3. Configure notification subscriptions
For each object type you care about, configure what notifies whom:
- Channel subscriptions - channel subscribes to changes on specific records, lists, or list views (e.g., #renewals subscribes to the “Q3 Renewals” list view)
- User subscriptions - individual users subscribe to records they care about (Salesforce will DM them on changes)
Configuration is done from the Salesforce app inside Slack: /salesforce → Subscriptions → Add.
4. Build Flow-driven Slack messages
For custom notification logic, build a Flow in Salesforce:
- Trigger: Record-Triggered Flow on Opportunity (or any object)
- Conditions: e.g., StageName = “Closed Won” AND Amount > 50000
- Action: Send Message to Slack - pick the channel, write the message template, optionally include interactive buttons
This is where most of the real customization lives. Flow gives you all of Salesforce’s filtering logic plus the ability to format messages with merge fields.
5. Test before broadcasting
Create a test record matching your conditions. Verify the message lands in the right channel with the right content. The number-one regret on day 2 is too-noisy channels - start narrow.
6. Slack-to-Salesforce shortcuts
In Slack, click any message → More actions → “Salesforce: Create record” or “Salesforce: Update record.” The modal asks for object type, fields, and association (which Account/Contact). This is how reps log key Slack conversations into Salesforce without copy-paste.
Channel-based selling pattern
The pattern Slack and Salesforce push together is channel-based selling: every named account or active deal gets a Slack channel with the customer, internal team, and key Salesforce data embedded.
What goes into the channel:
- Customer’s account record (one click to view)
- Active opportunities and their stages
- Recent cases (Service Cloud)
- Stage-move alerts pinned to the channel
- All discussion threaded in one place
This is enabled by Slack Sales Elevate (paid add-on). Without it, you can still link records into channels manually - you just don’t get the auto-curated deal rooms and AI-summarized deal alerts.
Common pitfalls
Notification fatigue
The fastest way to get a Slack integration uninstalled is to dump every Salesforce stage change into a channel. Channels go silent within a week as people mute them.
Mitigation: be selective. Only notify on events that need action (“opportunity moved to negotiation,” not “any field changed”). Use threading. Pin a “what gets posted here” message at the top of each channel.
Rate limits
Slack has rate limits on the chat.postMessage API (~1 message/second per channel, tier-dependent for apps). Salesforce has daily API call caps. A burst of opportunity updates can throttle either.
Mitigation: batch notifications where possible. Use channel-level subscriptions over user-level for high-volume events.
Mapping Salesforce users to Slack users
The native integration uses email as the link. If a user’s Salesforce email and Slack email differ (legacy account, contractor with personal Slack), notifications targeted at them break.
Mitigation: audit users early. Standardize emails. The native integration shows unmapped users.
Sandbox vs. production
Salesforce Sandboxes can also connect to Slack - but you can’t connect the same Slack workspace to both production and sandbox simultaneously for some features. Plan your testing strategy. Many teams use a separate test Slack workspace for sandbox.
Flow message formatting
Slack supports rich Block Kit formatting (buttons, headers, dividers). Salesforce Flow’s “Send Message to Slack” action supports a subset. For very custom message formatting, send via a webhook and format with Block Kit JSON.
Pricing and cost
| Component | Cost |
|---|---|
| Salesforce for Slack app | Free |
| Slack (basic) | Free / Pro tier $7-$12.50/user/month |
| Slack Sales Elevate | Add-on, varies by region |
| Salesforce (with Flow + API) | Professional Edition+ |
| Zapier | $30-$500+/month |
| Make | $10-$300+/month |
| n8n Cloud | $25-$500+/month |
| n8n self-hosted | $30-$100/month infrastructure |
| Custom build | Engineering time + maintenance |
When to use which path
| Need | Recommended path |
|---|---|
| Basic stage-change alerts to a channel | Native + Subscriptions |
| Filtered alerts (“only deals over $X”) | Native + Flow |
| Slack message → Salesforce record | Native shortcuts |
| Channel-based selling with deal rooms | Native + Sales Elevate |
| Cross-system fan-out (Slack + Salesforce + Stripe + …) | iPaaS |
| Slack message content parsing → Salesforce | iPaaS or custom |
| Sub-second latency with thousands of messages/day | Custom |
For most teams: start with native, layer in Flow for custom logic, only reach for iPaaS when you need to involve a third system.
Related reading
- Salesforce and HubSpot integration - companion if you’re also syncing CRMs
- Build Slack apps with buttons and file uploads in n8n - DIY interactive Slack components
- 5 ways AI reduces Slack message overload
- Sales automation services - full sales stack pillar
- Operations automation - for cross-functional Slack notifications
- Top 10 sales team tasks that you should automate with AI
- n8n automation guide
- Workflow cost calculator
If your sales stack is spread across Slack, Salesforce, email, and a half-dozen other tools, and the integrations are starting to fight each other, the Efficiency Scorecard maps the friction and points to the biggest wins.