Slack is one of the most popular chat platforms for businesses around the globe. As the world’s #1 CRM platform, integrating Salesforce with Slack may feel like a good move, and yet, you would be right to ask why… Last year, I was asking the same question. Salesforce acquired Slack in 2021, causing a stir in the industry, and I became even more curious.
While the Salesforce App for Slack has been around for years, Marc Benioff teased us with Salesforce’s big post-acquisition plans: “We’re going to rebuild all of our technology, once again, to become Slack-first”. What we’re seeing now is the original connector being surpassed by tighter, use case-specific integrations.
Slack-First Customer 360 ties together all of Slack’s connectivity with Salesforce:
- Salesforce App for Slack
- Slack-First Sales: Pre-built for Sales Cloud (Digital Deal Rooms, Daily Briefs).
- Slack-First Service: Pre-built for Service Cloud (Swarming, Expert Finder).
- Slack-First Marketing: Pre-built for Marketing Cloud (Datorama Insights, Workflow Notifications).
- Slack-First Analytics: For Tableau (Notifications, Watchlist Digests).
Note: Certain pre-built solutions are generally available, whereas others are in customer pilot.
Let’s focus on the Salesforce App for Slack first.
Salesforce App for Slack
The Salesforce App for Slack 2.0 is a connector, a prebuilt integration, that lets Slack users grab information from Salesforce and surface it directly in Slack. The update includes improvements ‘under the hood’ for Sales Cloud, and also introduces Service Cloud compatibility.
Here’s what you can expect:
- Get notified instantly by leveraging alerts about Salesforce records changes directly in Slack.
- Ensure the team you collaborate with always has the latest updates on an Account, Opportunity, or other objects on a dedicated Slack channel.
- Know when records are assigned to you from Slack, along with Salesforce in-app notifications or emails.
Before trying these features out, make sure you connect with a Salesforce org within the Slack App – be it a production instance or a sandbox.
Let’s dive into what can be achieved with the Salesforce App for Slack, as well as how to set them up.
1. Search Salesforce From Slack
One of the most common Slack commands is definitely the forward slash, which (amongst other Slack specific actions) can access features from apps installed in the Workspace.
The Salesforce search option is no different, following a simple syntax: /salesforce [search term]. This syntax allows you to search for any searchable standard or any custom object records directly in the connected Salesforce org, without having to leave the Slack channel or direct message.
The search functionality can be leveraged by both users and Salesforce administrators. This is useful, as conversations could lead to that one Salesforce record you need to open to either action or troubleshoot, depending on your role. Out of the box, the search in Slack will return records from the six main standard objects:
Custom objects can be configured from Salesforce through the Slack settings (from the managed package that was just installed) – we’ll get to this part later.
While searching for any kind of term, all of the results will be displayed and categorized by Object. Also, in case the term you searched for couldn’t be found, the message will redirect you to your org’s homepage to use the actual Salesforce search.
Even better, this functionality is also available on the go! The same command can be used directly from the Slack mobile app for you to access key information without being tied to your laptop.
While searching for a specific record (a Contact in this example), if there are multiple records that match the search term, each will be displayed with the option to View Record underneath – just choose the one you want.
For each record, key fields will be displayed (which can be customized for Custom Objects). If these key fields are not enough, there is also the option to click the hyperlinked Record Name (John Test in this case) to be redirected straight to the Salesforce record in a new browser tab.
No matter what part of the org you are from, there’s definitely something to search for in Salesforce. For example, a support rep might need to search for a Case Number, whilst a Sales Rep will most likely search for an Opportunity Name (and they can immediately update the Next Step).
Even if actions are not available yet for the majority of records which will be searched, and the option to go directly in Salesforce by clicking on the Record Name remains there, saving the user some time.
Basically, as long as your Salesforce permissions grant you at least view access to a searchable record, you will be able to get the key information quickly from Slack.
Make sure to also check out the video example below for a glimpse into how easy the process really is.
2. Share a Salesforce Record in Slack
The search command is definitely useful if you’re searching for a record purely to check data or to actually work on it in Salesforce, but what if you’d like a colleague to take a look as well?
On top of the searching capability, records can be easily shared in private conversations or channels for streamlined collaboration.
Once you have decided on the record you’d like to share (and chosen it from the list), the high level information of the record will be displayed for you to double check. Once this is done, you can click on Share to proceed with choosing the recipient. Clicking it once again will send the message to either the channel or the private conversation.
3. Attach Slack Messages to Salesforce Records
Attaching a message to a Salesforce record is another useful thing you can do directly from Slack to Salesforce. This is good if you want to make a quick note about a particular record but don’t want to leave Slack, or if someone has sent you a message and you want to add it as a reference on the record for others to view.
The first step towards making use of this functionality is adding the Slack Message Viewer custom component (to the Lightning Record Pages of the objects it should be used on) to confirm the messages sent to Salesforce actually arrived.
After going back to Slack and finding the message that should be displayed in Salesforce, click on More Actions (the three dots that appear while hovering over the message) and choose the Add to Salesforce action.
The only thing left to do is to choose the Salesforce record (in the pop-up that appears on screen) and click Add.
To ensure everything works as intended, let’s hop into the Salesforce Opportunity record and confirm that the message is exactly where it should be:
How to Integrate Salesforce with Slack
Here is a summary of the steps required to connect Salesforce with Slack:
- Install the Salesforce App for Slack from the Slack App Directory.
- Install the “companion app” from the Salesforce AppExchange.
- Configure Slack Setup.
Step 1: Install the Salesforce App for Slack
You can install the Salesforce App for Slack directly from the Slack App Directory.
Note: ensure you have the correct workspace selected in the workspace switcher (dropdown) at the top of the screen:
Alternatively, you can click on “Apps” in the left sidebar. Can’t see it? Click “More” instead. You are now accessing the Slack App Directory:
Remember that you will need to approve how Slack can see/use Salesforce data.
Step 2: Install the “Companion App” to Salesforce
You may remember that, earlier in the guide, I mentioned the need to install two parts to access the complete functionality the connector offers.
You can install the “companion app” Salesforce for Slack from the Salesforce app management page, or directly from the Salesforce AppExchange – in other words, the managed package.
Click the “Get it now” button and log in to your Salesforce org/sandbox.
Once installed, you will receive an email and be redirected to the “Installed Packages” page in Salesforce Setup. However, this isn’t where you will configure Slack to work with Salesforce…
Step 3: Configure Slack Setup
From the Salesforce App Launcher (waffle icon), search for “Slack Setup”.
This is a guided setup for System Connections, enabling Custom Objects, Custom Alerts to send to Slack, Org Configuration (how and where Slack lives in your org), and Automation Configuration i.e. Message Destinations to be used with the “Send to Slack” invocable method in Flow/Process Builder.
Use Salesforce Custom Objects With Slack
If you want to interact with custom object records from Slack, it’s important that you don’t skip this step. After selecting your object, add Subscribed Fields. These are the fields users will see when they click the “view record” button in Slack. You can add up to nine Subscribed Fields, so this really is designed as more of a highlights view.
(Remember that users can navigate straight to the Salesforce record by clicking on the hyperlinked record name.)
Here at SalesforceBen.com, we rely heavily on a custom object called “Content”. This tracks where each piece of content is in the pipeline, who the key points of contact are, and more. This can be any other custom object you have in your Salesforce org.
Read the guidance in the Salesforce interface to decide whether a manual or automatic activation is most appropriate for you. I chose the automatic activation option as our org is relatively low in complexity.
Configure Custom Alerts
I wonder how admins will approach this part… Will they collect user feedback? Replicate what they may have had in Chatter/Workflow Rules/other email alerts? Or add some alerts, and then see how people react…
There are many common “run of the mill” use cases that admins can implement (some included in the section “use cases”).
Once you’ve selected the object, you will need to decide whether this alert will apply at the:
- Object level: An alert that is sent when any record of the selected object type meets the specified criteria.
- Record level: An alert that is sent when an individual record of the selected object type meets the specified criteria.
Now it’s time to decide how and where Slack lives in your org.
- Slack Actions: Add the Quick Actions “Send to Slack” and “Slack Alerts” to page layouts. Clicking the “Add Actions to Layouts” button will add both Actions, and if you need to add/remove them, you can use the Global Actions Manager in Salesforce Setup.
- Slack Message Viewer Component: A Lightning component that can be added to Lightning Pages. Click the “Add Component to Pages” button.
Message Destinations are used with the “Send to Slack” invocable method in Process Builder/Flow. In other words, they tell Flow/Process Builder where to send the message in Slack.
I created one for our “content-publish” channel in Slack. Each Message Destination has an auto-generated ID. Click on the copy icon if you plan to create automation (Flow/Process Builder now).
Send to Slack with Salesforce Flow
After creating Message Destinations (previous step), you can use these in Salesforce Flow or Process Builder to send messages to Slack at a specific time/when conditions are met.
I will focus on using Slack with Salesforce Flow. Although Process Builder will be retired, Salesforce does provide an example within the Integrate Salesforce with Slack Trailhead project – I will touch on using Slack with Process Builder at the end of this section.
Step 1: Decide the criteria for your flow
In this example, the use case is that a notification should be sent to a Slack channel every time an Opportunity is Closed Won.
Step 2 : Add a Slack: Post Message Flow Action
One of the key elements of the Slack post action is the Message Destination Id, on top of the Label, API Name and Record Id.
Within the Slack Setup in Salesforce, I have created one specifically for this and related it to the Slack channel messages will be posted on – the ID can be copied as soon as the destination is configured.
Now that we have the Message Destination ID at hand, we can proceed with setting up the flow.
Step 3 : Test Your Flow
Since the flow is already active, the last thing left to do is to move the Opportunity into the Closed Won stage. You’ll then receive the Slack message on the #won-opps channel.
Keep Using the Send to Slack and Slack Alerts Lightning Actions
Even if automations are possible, this doesn’t mean that the Lightning Actions included with the Slack managed package are no longer useful. They can still be used for individual records, allowing users to easily collaborate as needed.
Similar to the sharing option in Slack, the Send to Salesforce action allows a record to be shared in Slack with either a person or channel instantly, from Salesforce.
Here’s what it looks like in Slack:
Slack Alerts can also be configured directly from the Salesforce record, with a few differences between the standard and custom objects. In the example below you can see the alert page for a Content Record (1) and for an Opportunity Record (2).
You can use this as a way to inform people in Slack of a change on the record. This is a great way to quickly create “on the fly” notifications for specific records.
There are various other ways to set up objects and record level alerts – see the Slack documentation for more details.
Overall, using the Slack integration gives your users a fast and efficient way to pull Salesforce information and add notes to records – all while working directly in Slack.