· 19 min read

Salesforce Slack Integration: Setup, Flows and Best Practices

Salesforce connects to Slack natively and at no extra cost: a Slack admin requests the connection, a Salesforce admin approves it in Setup, users are mapped by email or SAML, and the Salesforce app appears in Slack. From there, Salesforce channels, Flow alerts, approvals and case swarming bring deals and cases into the conversation. Here is the setup on both sides, four flows worth building, and the rules that keep the channel useful and the data safe.
A Salesforce record card linked to a Slack-style channel with a deal alert, a thread and an approval check mark
Want Salesforce alerts your team actually reads?Tell us which deals, cases and approvals should reach Slack. Gilzor maps the flows, builds the integration and supports it after launch.
Plan my Slack integration

Your options at a glance

There are five ways to bring Salesforce into Slack. Most companies need the first two and nothing else for a long time. The rest fill gaps.

OptionWhat it doesDirectionCost levelEffortLimits
Salesforce for Slack (Salesforce-built integration)Org connection, user mapping, Salesforce app in Slack, record previews and edits, Salesforce channels, approvals, swarming, AI featuresBoth ways: view and edit records from SlackNo additional cost; some features need paid Slack plansHours to connect, days to roll outNo Government Cloud orgs; IP restrictions can break features
Flow Slack actionsPost messages, create and archive channels, add users, pin messages, launch screen flows in SlackSalesforce to SlackIncludedLow: point and clickNeeds the connection; inviting people to a new channel is a separate action
Agentforce and SlackbotAsk questions about Salesforce data, find and update records, run Agentforce agents in SlackBoth ways, with user approval for changesSlackbot varies by Slack plan; agents need an Agentforce licenseLow to mediumOnly sees what the user can see in Salesforce
iPaaS: Zapier, Make, WorkatoAlerts and digests that combine Salesforce with other systemsEither wayEntry plans start around $20 a month (for example, Zapier Professional from $19.99 billed annually, list price, October 2026); enterprise iPaaS is quoted per contractLow to mediumPer-task pricing, another credential store, polling delays
Custom Slack app (Bolt + Salesforce APIs)Your own bot, interactive approvals, slash commands, data from several systemsBoth waysProject budget plus upkeepHighYou own hosting, security and both sides’ API limits

One thing to drop: Slack says its older Slack-built Salesforce app is no longer supported and recommends the Salesforce-built integrations. If your alerts still come from it, plan the move before they break. Slack also ended support for legacy Salesforce connections on March 31, 2026, so older connections need to be updated to keep Salesforce features working. Using Microsoft Teams instead? See the Salesforce Microsoft Teams integration guide. For how Slack fits your wider Salesforce architecture, start with the Salesforce integration guide.

What Salesforce for Slack actually gives you

“Salesforce for Slack” is the name Salesforce uses for its suite of Slack integrations. They share one org connection and one user mapping, and you switch them on one by one.

  • The Salesforce app in Slack. After the connection is active, mapped users get a Salesforce app in Slack. They can search Salesforce from Slack, open a record and edit the fields their Salesforce permissions allow, and the change is saved in Salesforce. On Business+ and Enterprise plans they can also open and share list views and pull Salesforce fields into a canvas, according to Slack.
  • Record previews. Paste a Salesforce link into a message and Slack shows a preview of the record. Admins choose how much the preview shows.
  • Salesforce channels. A Slack channel tied to one record, such as an Account or Opportunity, with tabs for Messages, record details, a Summary (Business+ and Enterprise+) and related conversations. Slack’s documentation says they can map to any object except Users.
  • Flow Slack actions. Core actions in Flow Builder that post messages, manage channels and launch screen flows in Slack. This is how most alerts are built.
  • Approvals and notifications. Approval requests with Approve and Reject buttons, and Slack-enabled custom notification types that a flow can send, according to Salesforce’s developer documentation.
  • Service Cloud for Slack. Case swarming: experts solve a hard case together in a Slack channel, and the swarm is tracked on the case.
  • AI. Slackbot can answer from and update connected Salesforce orgs, and Agentforce employee agents can run in Slack.
How alerts and actions move between Salesforce and Slack Salesforce record system of record Record-triggered or scheduled flow Send Slack message / DM Create channel, add users Approval or swarm request User edits, approves or opens the record in Slack Runs as the mapped Salesforce user profile, permission sets, field security, sharing Message text and record previews are copies: everyone in the conversation sees them, whatever their Salesforce access.
Alerts leave Salesforce as messages. Actions come back as the mapped user, so Salesforce permissions apply to changes, but not to text and previews already posted.

Which approach fits you

How should you bring Salesforce into Slack?

How to connect Salesforce to Slack, step by step

You need a Slack Workspace Owner or Admin (Org Owner or Admin on Enterprise plans), or a member with Slack’s Salesforce Admin system role, and a Salesforce System Administrator. Book an hour with both. The steps below follow Slack’s and Salesforce’s current documentation; screen names change between releases, so match what you see.

  1. Check the basicsSlack can’t connect to Government Cloud Salesforce orgs. Slack also warns that features relying on the connection may not work as expected when Salesforce IP restrictions are on. Pro, Business+ and Enterprise plans can connect up to 20 additional Salesforce orgs.
  2. Start with a sandboxConnect a full or partial sandbox first if you will build flows. You test alerts against fake deals instead of announcing a test “closed won” to the whole sales floor. Connect production once the flows are ready to deploy.
  3. Request the connection in SlackClick your workspace name, hover over Tools & settings, open Manage Salesforce Organizations and click Connect Salesforce Org. Enter the org URL, choose Email or SAML NameID as the mapping field, decide whether automatic account mapping stays on, and click Request Connection.
  4. Approve it in SalesforceIn Setup, under Platform Tools, open Slack, then Manage Slack Connection. Under User Configuration, pick the same mapping field, accept the terms and click Approve.
  5. Activate it in SlackBack in Manage Salesforce Organizations, select the pending connection, review it and click Activate. Mapped members now get the Salesforce app in Slack.
  6. Map usersKeep automatic mapping on if emails (or SAML IDs) match in both systems. Fix mismatches first: aliases, shared inboxes and contractors with personal emails. Anyone left over can be added from the org’s Users tab one by one or by CSV, and Export User Mapping CSV shows who is connected.
  7. Assign permissionsGive users the Slack permissions and permission sets for each feature you switch on. For example, Salesforce’s documentation lists the Connect Salesforce with Slack permission and a Slack Service User permission set for Service Cloud for Slack. Assign them only to the pilot group at first.
  8. Configure Salesforce channelsIn Setup, search for Slack Channels for Records, click Add Objects and pick the objects that should get channels, for example Opportunity and Account. Set the default privacy and how much record previews show (next section).
  9. Build and test the first flowCreate a record-triggered flow with a Send Slack Message action, run it in the sandbox, check who can see the message, then deploy to production with your normal release process.
Three mapping details that cause support tickets

Users with the Unified Employee license can only be mapped automatically, so keep automatic mapping on if you use it. If your Salesforce org URL changes, the connection to Slack must be updated. And Slack says the connection uses a Salesforce Platform Integration User to manage object access for features like Salesforce channels: leave it alone and don’t reuse it for other integrations.

Salesforce channels: deal rooms tied to a record

A Salesforce channel is a normal Slack channel that knows which record it belongs to. Members see the record details in a tab, can edit fields they are allowed to edit in Salesforce, and see related conversations. Members can start one from a record shown in Slack, either as a new channel or by linking an existing one.

The admin settings that matter most:

  • Which objects. Add only the objects where people really collaborate: large Opportunities, key Accounts, maybe a custom Project object. Every object you add invites more channels.
  • Privacy. Public and Private work like any Slack channel. Limited access lets Salesforce record permissions decide who can see and join the channel, with three levels: anyone who can view the record, record editors, or record owners (and people with transfer access). Slack defaults a new configuration to Public if the object is public in Salesforce’s record access settings, and to Limited otherwise.
  • Naming. Channel names match the record name by default and update when the record is renamed. You can map them to another field instead.
  • Record previews. Choose Show record details (the default), Show name and object only, or Show object only, with exceptions per object. Slack warns that previews are visible to everyone in the conversation, regardless of their Salesforce permissions.

Changing or removing a configuration does not touch channels that already exist, so decide the defaults before the pilot, not after a hundred channels.

Flow Slack actions: four flows worth building

Flow Builder includes core actions for Slack: send a message to a channel or a person, create and archive channels, add users to a channel, pin messages, and send a message that launches a screen flow in Slack. Send Slack Message returns the message timestamp, which you can store and use to reply in a thread later. Pick two of the flows below to start.

1. Big deal won

Trigger: record-triggered flow on Opportunity, when Stage changes to Closed Won and Amount is above your threshold. Action: Send Slack Message to a #wins channel. Message: account, owner, amount band, product line and a link to the record. Keep the threshold high enough that it stays news, and let congratulations go into the thread.

2. Deal room on a strategic opportunity

Trigger: Opportunity created above a size threshold, or moved to a late stage. Action: create a Salesforce channel on the record (or Create Slack Channel), then add the account team with a separate Add Users action, because creating a channel does not invite anyone. Message: a pinned kickoff post with the close date, next step and the people involved. When the deal closes, a second flow posts the outcome and archives the channel.

3. Daily pipeline digest by DM

Trigger: schedule-triggered flow every weekday morning. Action: one direct message per rep. Message: deals closing this week, deals with no activity in 14 days, and stage changes since yesterday, each with a link. One digest replaces ten real-time pings, and personal numbers stay out of team channels.

4. Hot lead with a fallback

Trigger: a lead with a high score is assigned to a rep. Action: DM the owner right away; a scheduled path an hour later checks whether the lead was touched and, if not, posts to the team channel and tags the manager. Message: company, source, score and a link, never the phone number or email. Speed matters here, so this is the one alert that earns real-time delivery.

A fifth pattern for service teams: when a high-priority case has no update within your target time, post to the support leads’ channel and offer a swarm (below), instead of paging everyone.

Approvals in Slack, and their limits

With the Salesforce-built integration set up and Slack notifications on for approvals, requests from classic approval processes reach the approver in Slack with Approve and Reject buttons. That covers the bulk of simple discount and expense approvals.

  • Comments and next approver. Requests that need comments, or where the approver must choose the next approver, send the user back to Salesforce.
  • Four fields. A notification shows up to four fields, so choose them deliberately: amount, discount, margin, reason.
  • Richer decisions. When approvers need more context or a structured answer, send the approver a screen flow that runs in Slack and collect the decision there.
  • Cross-system approvals. If margin comes from the ERP and risk from a contract tool, Flow alone gets awkward. That is a typical reason for a custom Slack app.

Case swarming with Service Cloud for Slack

Swarming means pulling experts into a Slack channel to solve one hard case. With Service Cloud for Slack installed, an agent starts a swarm from the case in Salesforce or with the /service-swarm-start command in Slack. Experts join, work it out in the channel, and the agent finishes the swarm (Finish Swarming or /service-swarm-close), which marks the swarm closed in Salesforce. In a 2021 blog post, Slack reported that swarming in Slack improved the days-to-close rate of Salesforce’s own support team by 26%.

Two rules keep it healthy. Define who may start a swarm and on which cases, or every hard case becomes a fire drill. And keep customer personal data out of the swarm channel: experts need the problem and the product, not the customer’s phone number.

Agentforce and Slackbot in Slack

Slackbot became generally available in January 2026 for Business+ and Enterprise+ plans. Once Salesforce is connected, Slack says Slackbot can find information in connected orgs and, by default, create or update records, but only with data a person can see in Salesforce, and members are always asked to review and approve before a change is made. Admins can turn off access per org, limit which objects Slackbot may change, and restrict edits to fields on assigned layouts. Slack also lets admins add Salesforce MCP servers so Slackbot can take more actions in Salesforce, though Slack notes these can’t be connected while the Salesforce org uses IP address restrictions.

Agentforce agents in Slack are available on all Slack plans with a Salesforce Agentforce license. According to Slack, agents for Slack are built with the Agentforce Employee Agent type, member access follows Salesforce permissions, and members without a Salesforce account need a provisional Salesforce license. Start with read-only questions (“what changed on this account this week?”) and add actions once you trust the answers.

Chatter or Slack in new orgs

According to the Summer ’26 release notes, Chatter is off by default in new Enterprise, Unlimited and Developer Edition orgs created in Summer ’26 or later, and Salesforce channels are on by default for Lightning Experience in new Enterprise and Unlimited orgs. Existing orgs keep their settings. In older orgs, both often live side by side, and people stop knowing where a deal was discussed.

Pick one per team. If your sales and service teams already live in Slack, put record conversations in Salesforce channels and retire Chatter posts and Chatter-based alerts for those teams. If some users have no Slack account (field staff, partners in an Experience Cloud site), or you rely on Case Feed, which needs Chatter, Chatter may still be the right place for them. Write the decision down, so new flows don’t post to both.

Built by Gilzor

Results we’ve shipped

70+products launched
98%delivered on time
85%clients come back
Art Scherbakov, Co-FounderAndrew Laminsky, CTOYuri Rudenya, Head of Mobile Development at GilzorAlena Timofeeva, Product Marketing Lead

Talk to the people who build it. Tell us about your project and get a free estimate of scope, timeline and cost.

See how we’d approach yours

Who sees what: sharing and data exposure

This is the pitfall that reaches the security team. Salesforce sharing rules decide who sees a record in Salesforce. They do not decide who reads a message or a preview once it is in Slack.

  • Alerts are plain text. A flow message with an amount, a discount or a customer contact is readable by every channel member, including people without a Salesforce license and anyone who joins later.
  • Previews show to everyone in the conversation. Slack says so explicitly, and the preview is generated with the Salesforce permissions of the person who shared the link. If an Opportunity preview shows amount and discount, everyone in that channel sees them. Set previews to name only for sensitive objects.
  • Record access follows Salesforce. Opening a record, editing it, the record tab in a Salesforce channel and Slackbot answers all use the mapped user’s Salesforce permissions and field-level security.
  • Limited channels follow the record. Use Limited access on Salesforce channels for confidential deals, so only people with access to the record can see and join.
  • Retention moves. A copy of the data now lives under Slack’s retention and eDiscovery settings, not Salesforce’s. Health, financial and other regulated personal data usually should not go there at all.
  • External people. Slack says you can’t invite external people to Salesforce channels, and record previews don’t appear in channels with external people, but a flow can still post message text into a shared channel with a partner. Block shared channels as alert targets.

The fix: post links and safe summary fields, and let people click through to the record, where sharing rules apply. Keep a short list of fields that may never appear in a message, and review it with whoever owns your data policy.

Notification design: what to send where

The first month often goes the same way: every stage change posts, the channel scrolls all day, people mute it, and the one alert that mattered is missed. Design alerts like a product, not a log.

Salesforce eventSlack destinationDirectionSystem of recordFields to include
Opportunity Closed Won above threshold#wins channelSalesforce to SlackSalesforceAccount, owner, amount band, link
Strategic opportunitySalesforce channel on the record (Limited)Both: edits checked against permissionsSalesforceRecord tab handles the details
Approval requestApprover DMBoth: decision written backSalesforce (approval)Up to four fields: amount, discount, margin, reason
Pipeline digestRep DMSalesforce to SlackSalesforce (reports)Counts and links, no full deal lists in channels
Hot lead assignedOwner DM, fallback team channelSalesforce to SlackSalesforce (lead)Company, source, score, link; no phone or email
High-priority case stalledSwarm channelBoth: swarm tracked on the caseSalesforce (case)Case number, product, priority, link; no customer personal data
  • A threshold for every alert. Amount, priority, segment. If an alert fires more than a few times a day in one channel, raise the bar or turn it into a digest.
  • Personal goes to DMs, team news to channels. A rep’s stalled deals are not the whole team’s business.
  • One alert, one owner. Every message should say who is expected to act. Alerts nobody owns are noise.
  • Thread the follow-ups. Store the timestamp from Send Slack Message and post updates as thread replies instead of new messages.
  • Respect Slack’s pace. Slack’s API documentation says apps may post no more than one message per second per channel, with short bursts allowed. A bulk data load that fires a flow per record can hit that; exclude imports with an entry condition.
  • Review monthly. Count alerts per channel, ask which ones people act on, and delete the rest.

Other pitfalls and fixes

PitfallWhat happensFix
Users don’t mapEmails differ between Slack and Salesforce, so the Salesforce app shows nothing and actions failClean emails or use SAML NameID; export the user mapping CSV before launch
Flow loopsAn edit from Slack updates the record, which re-triggers the flow, which posts againEntry conditions on the changed field only, plus a “notified” checkbox or timestamp
Duplicate postsTwo flows, or a flow and a Zap, fire on the same changeOne owner per alert; keep a list of every flow that posts to Slack
Private channel posts failPosts to a private channel can fail when the Salesforce app is not a member of itCheck that the app is in every private channel you post into, and test in the sandbox
Alerts stop after offboardingiPaaS connections or old app alerts tied to a person die when the account is deactivatedRun automation under an integration user, not a named admin
Features fail silentlySalesforce login IP restrictions block parts of the integrationReview IP restrictions before connecting, as Slack recommends
API limitsPolling iPaaS tools spend Salesforce API calls on every checkPrefer flows or event-based triggers; watch API usage in Setup
Channel sprawlEvery opportunity gets a Salesforce channel, most stay emptyCreate deal rooms only above a threshold and archive them on close

When a custom Slack app makes sense

Flow and the Salesforce-built integration cover most alerts, channels and simple approvals. Before building, check whether an app on the Slack Marketplace or AppExchange (now AgentExchange) already does the job. A custom app built with Slack’s Bolt framework (available for JavaScript, Python and Java) and the Salesforce APIs earns its cost when:

  • Approvals need data from several systems, such as margin from the ERP and risk from a contract tool, in one interactive message.
  • You need slash commands or shortcuts that run your own logic, such as “create a quote from this thread” with validation.
  • Several Salesforce orgs, or Salesforce plus another CRM, must feed the same channels with the same rules.
  • Compliance needs field-level redaction, an audit log of every message sent, or region-specific data handling.

A typical project includes a hosted Slack app (bot, interactive messages, modals, slash commands), OAuth to Salesforce with a dedicated integration user or per-user tokens, event handling with retries, and monitoring. Slack’s developer platform also offers Salesforce connector steps for its workflows (create, read, update or delete a record, run an autolaunched flow) as a lighter middle ground. Budget for upkeep too: Slack and Salesforce both change their APIs and app rules every year.

HoursNative Slack connection and first Flow alert
1–3 weeksRollout of 4–6 alerts, Salesforce channels and training
Weeks–monthsCustom Slack app with approvals across systems

As a rough guide from our API integration cost breakdown, a simple one-way integration runs about $2,000–10,000, a two-way CRM sync $10,000–40,000, and complex multi-system work $40,000–150,000 or more, with 15–25% a year for maintenance. Most custom Slack apps fall in the first two bands. If the same project also feeds an ERP or a service desk, see the ServiceNow and MuleSoft guides, and the broader cost of data integration.

Go-live checklist

Tick what is already true. It shows how ready your Slack integration is for the whole team.

Salesforce Slack integration go-live

FAQ

How do I connect Salesforce to Slack?
A Slack admin opens Manage Salesforce Organizations under Tools & settings, clicks Connect Salesforce Org, enters the org URL and picks email or SAML NameID as the mapping field. A Salesforce System Administrator approves the request in Setup under Slack, Manage Slack Connection, and the Slack admin activates it. Then assign the Slack permissions in Salesforce and switch on the features you need.
Is the Salesforce Slack integration free?
Salesforce says the Slack connection comes at no additional cost, Slack says Salesforce can be connected on any Slack plan, and Salesforce channels are available on all Slack plans. Some features need a paid Slack plan: the AI Summary tab in Salesforce channels needs Business+ or Enterprise+, and Salesforce list views need Business+ or Enterprise plans. Agentforce agents in Slack work on all Slack plans but need a Salesforce Agentforce license.
What is the difference between Salesforce for Slack and the old Salesforce app in the Slack Marketplace?
“Salesforce for Slack” is Salesforce’s current, Salesforce-built suite: the org connection, the Salesforce app in Slack, Salesforce channels, Flow actions, approvals and swarming. Slack describes its older Slack-built Salesforce app as no longer supported and recommends moving to the Salesforce-built integrations. If your alerts still come from the old app, plan the move.
Can I approve Salesforce approval requests in Slack?
Yes, requests from classic approval processes can be delivered to Slack with Approve and Reject buttons when the Salesforce-built Slack integration is set up and Slack notifications are on for approvals. Requests with comments, or ones where the approver must pick the next approver, still send the user back to Salesforce, and a notification shows up to four fields. For richer approvals, use a screen flow that runs in Slack.
Can people without a Salesforce license see Salesforce data in Slack?
Yes, if it is posted where they are. Flow alerts are plain messages, and Slack warns that record previews are visible to everyone in the conversation regardless of their Salesforce permissions. Opening or editing the record itself follows Salesforce permissions. Keep sensitive fields out of alerts and set record previews to show less where needed.
Should I use Zapier or the native Salesforce Slack integration?
Use the native integration first: it handles user mapping, record previews, Salesforce channels and Flow actions with no extra subscription. Zapier, Make or Workato make sense when one alert needs data from several systems, or when the team that owns the alert does not work in Flow. They add a per-task cost and another place where credentials live.

Where Gilzor fits

Gilzor builds and maintains Salesforce integrations (see Salesforce integration services), with engineering teams in Poland and Cyprus. Gilzor’s engineers can map which deals, cases and approvals belong in Slack, build the flows or a custom Slack app, and support it after launch. More Salesforce connections are covered in the Salesforce integration guide.

No sales pitch

Get a straight answer for your project

Tell us what you’re building. We’ll reply with options, a rough cost and timeline. If we’re not the right fit, we’ll say so.

Next, a few optional questions so the first call is useful. We use your details only to reply to your request. Privacy Policy

Andrew Laminsky
Written byAndrew Laminsky

CTO of Gilzor. Responsible for architecture and the engineering standards our teams work by.

LinkedIn →

Gilzor · Web Development partner

Need a team for your web product?

95%referred by business partners
70+successful launches
85%repeat business
98%delivered on time

The team behind them

Art Scherbakov
Art ScherbakovCo-Founder
Andrew Laminsky
Andrew LaminskyCTOLinkedIn
Yuri Rudenya
Yuri RudenyaHead of Mobile Development at GilzorLinkedIn
Alena Timofeeva
Alena TimofeevaProduct Marketing LeadLinkedIn
Tell us what you’re buildingOptions, a rough cost and timeline for your project. No commitment.

More insights