Slack to Salesforce Integration [Updated 2022]

Share this article...

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.

This is a free app that can be downloaded from the Slack App Directory and requires a “Companion app” from the Salesforce AppExchange (managed package) – also free.

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:

  1. Accounts
  2. Opportunities
  3. Leads
  4. Contacts
  5. Cases
  6. Tasks

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:

  1. Install the Salesforce App for Slack from the Slack App Directory.
  2. Install the “companion app” from the Salesforce AppExchange.
  3. 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.

Org Configuration

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.

Automation Configuration

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. 

Summary

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. 

The upgrade now includes support for both Sales and Service users, as well as the ability to send messages between the two applications, with the option to set up alerts for notifications about records in Slack. All of this functionality can save your users time and clicks, allowing them to stay in one place to complete their work more effectively.

Make sure you also check out the dedicated Salesforce App for Slack module and add another shiny badge to your Trailblazer profile!

19 thoughts on “Slack to Salesforce Integration [Updated 2022]

  1. For those looking for a true integration between Salesforce & Slack, Troops (troops.ai) is the only real option. Can easily log calls, update records, and search records for a way that is really intuitive for Slack users. The Troops workflow builder is also awesome – doesn’t require any technical knowledge… a power user can put together workflow for deal alerts, overdue tasks, etc within minutes.

  2. The current Slack AppExchange offering is good but will become more feature rich during their next release which is intended to include custom notifications and the use of invocable actions with process builder. This was demo’d at Dreamforce during one of their sessions that I attended.

  3. We’ve tried it but there are some significant flaws: admin visibility being one of them. For example, I cannot see what has already been setup to be sent between #slack and Salesforce… so in my small test of (3) people we have duplicate alerts and I cant see why.

    You also cannot control what users are (or are not) allowed to sync between the two. For example, you may not want them to sync Opportunities (just an example) but there’s not administrative way to control the integration – its all or nothing.

    1. Hi Joy Ann, thanks for your comment. Wow yes, that is quite significant. I wonder if this is on Slack’s roadmap, I will try to find out myself.

  4. Is there any way to update values from Slack to Salesforce case detail page field. For example, If i update a field value in Slack channel , that updated value should be populated in the respective field in Salesforce. Is that possible?

  5. We tested the integration a couple of times and the feedback from users was not positive. The search functionality relies on the user knowing the Case subject or number, which means they have to have both SF & Slack open and jump between systems.

    Equally if there is a message thread we can’t easily reflect the whole thread in Salesforce.

    In my view Slack needs to replace Chatter, else it is “another” system for users to have to check.

    1. Hello James,

      Appreciate you sharing your thoughts!

      While both you and I are aware some features are not yet supported and that it might be a need for clear guidelines when it comes to user enablement (as in what they can and cannot do or search for), chances are that a lot of the features will be improved by Salesforce over time in future releases – perhaps Slack might even get to replace Chatter at some point, we’ll have to wait and see.

  6. Slack does not support rich text field, so if you try to push this type of field it will bring over the html tags

  7. Love this article and it came at the perfect time for me! I got a flow set up to send a message to a new Slack channel I created for closed deals notifications. I ran a debug on it and everything went perfectly, but when deals get closed nothing is actually coming to the Slack channel, any thoughts on what could be going on?

    1. Hello Ryan,

      Happy to hear you enjoyed the article! Would you mind sharing a bit more detail about your flow, such as the criteria you used in the beginning? The flow usually works perfectly in debug mode one the correct path for the record, but there are situations in which the entry criteria is tricky *(for example when using is changed)

      Also, did it send out the notification when you tested it out but doesn’t work when users close deals, or it didn’t work at all?

  8. When sending slack messages via Flow, how is the user that the slack message appears to come from controlled? I’d like to set it to a specific user but have not been able to pinpoint how it is set. My current theories are the user that created or activated the flow or the user who created the Message Destination ID.

    1. Hello Rebecca,

      As far as I could find through the documentation and testing out, there isn’t a way to control the user sending out the Slack message at this point in time, as what I was looking forward to doing was for the Salesforce App to post the message and not an actual person. Hopefully this will become a possibility soon.

  9. The “Message Destination”, for use with PB/Flow, currently requires a Slack User as the “poster”… In the screenshots of the article, might notice “Andreea” as the poster… There is no way to assign the Slack App’s “Bot” to post, for PB/Flow automations

    1. Hello Kyle,

      Agreed, I did try to dig and find a workaround but sadly there doesn’t seem to be one so far. In case I find a way or this becomes available as part of a release, will update the article.

  10. This inability to control the “sender” of the message is a serious flaw. I have tried everything including authorizing the connection as a generic user, building my flows as that user, and setting up my destinations as that user. Nothing works. At this point I’m guessing it is using whatever user installed the Salesforce for Slack app. Slack can’t seem to provide a solution either.

  11. Slack was working perfectly fine and was set up for multiple automated notifications to various channels.
    However recently, someone while using send to slack, logged in with his slack and now the old notifications have stopped working. Earlier the slack messages were going out in the name of salesforce , but now they were being sent from the latest user who used ‘send to slack’. But that user doesn’t have permission to post to channels I think, and thus channel notifications have stopped working. In slack side salesforce app, it shows multiple tokens, but only salesforce token used the full access and permission to post to channels, these new users cant. Even when I removed those token, the app is not working.

    What is the correct way to reset it without uninstalling?

Add Comment