In our second Slackmas Series installment (first here), we'll review the similarly named Salesforce for Slack app (vs the original Salesforce app). Unlike the cloud-based apps and the industry-based apps, this app is Salesforce platform-focused. Described as "the low-code foundation for the ecosystem of Salesforce for Slack integrations", it "provides core services that enable base platform features like notifications, approvals and screen flows in Slack". Let's get into it!
Admin user to complete setup
End users with "Salesforce" license to validate functionality
Workspace Admin user to complete setup
End users in Slack to validate functionality
Little bit of patience...
Time - Days to weeks depending on complexity
Step 1: Complete Initial Slack Setup via Salesforce
Before installing the app in Slack and connecting your Salesforce and Slack instances, you need to complete some quick setup in Salesforce via Setup. Navigate to Initial Slack Setup and go through the (1) Review Documentation and Resources, (2) Agree to Terms and Conditions.
💡 As opposed to the original Salesforce app, this app does NOT require a separate Managed Package. Instead, Slack setup has been built in to Salesforce natively for simplicity and better user experience. All we have to do is check some checkboxes and set up proper permissions and we're off to the races!
Now, although not clear from the wizard (below), for this app we do need to set up (4) Salesforce Slack App Permissions and User Assignments. If you don't, you will see an error in step 2 when trying to connect Slack and Salesforce.
We simply need the "Connect Salesforce with Slack" System permission assigned to our user. I've created a new "Salesforce for Slack (Custom)" permission set, added that permission and assigned my user -- though you can add the permission to an existing permission set if that works for your org.
Now we can proceed with installing the app and connecting Salesforce and Slack.
Step 2: Install Salesforce for Slack App in Slack
From the Initial Slack Setup page, navigate to step (6) Install Slack Apps via the Slack App Directory or navigate directly to the Salesforce for Slack listing (and not the Salesforce listing) and click "Add to Slack". This will then redirect you to the Platform for Slack section on Salesforce.com, where you can click another button - "GET SALESFORCE FOR SLACK APP". This then gives you a few screens to connect your Slack and Salesforce.
After clicking the "Connect" button, you will be prompted to allow permissions to install the app into Slack.
After clicking "Allow" you will be redirected to another page where you can log in and connect your Salesforce org.
Once allowed, we're all set. You will see below success message and be redirected to Slack.
If you for some reason were not able to connect via above steps, with the app installed in your Slack workspace, you can use the single /sfhq-connect command to connect your Slack and Salesforce org.
💡 If you already walked through the first post in the series, you'll now start to notice more differences between this app and the original Salesforce app. For example, the Slack App Home (below) is very basic, almost entirely plain text with few links and missing any real functionality (via buttons). You also do not get a confirmation message that the org was connected via the Slack App Messages tab -- instead you see a nondescript message at the bottom of the Slack App Home text block indicating connection (but not to which org). It's clear from this point that this app was not built following same user experience as the original Salesforce app.
With the app installed in Slack and connected to your Salesforce org, we can proceed to set up the features of the Salesforce for Slack app.
Step 3: Configure features of Salesforce for Slack
As we review each, you'll see why this is more the "Platform for Slack" app as it does not have a lot of out-of-the-box end-user functionality in Salesforce or Slack (like App Home with functional buttons, slash commands, shortcuts, ephemeral messages with buttons or quick actions in Salesforce). Instead, it relies on the Salesforce admin to do much more configuration in Salesforce to get it rockin' and rollin' -- you cannot really just turn it on and start getting alerts in minutes like you do with the original Salesforce app.
Approvals in Slack
"Assigned approvers receive a request notification in Slack, enabling them to approve or reject the request." For this article, I've set up a simple approval process for Lead (reference). You can see that once submitted, it's sent via Slack and the user is able to approve with the simple click of the button seeing a success message as well.
💡 I ran across some outdated documentation as it states that approvals requires another app ("Salesforce Digital HQ") which you must opt into a beta for in sandbox. In speaking to others in the community, I've heard that the "Salesforce Digital HQ" is another name for the Salesforce for Slack app (?) -- cannot confirm, but can confirm I was able to see above approval working.
Slack Record Layout
Each layout created is used for how an object's Create, Edit and View modals show in Slack. You can create record layouts for accounts, opportunities, leads, cases, and contacts. Configure the layouts for the Lead object by following the steps here. I have to say, the modal wizard for setting this up for Lead made this very simple and easy to get done quickly.
See an example of a Create layout for Account from documentation below.
Unfurl Links in Slack Messages
"Use URL unfurling to preview record home page details for standard objects in Slack when sharing salesforce.com or force.com links." Configure for the Lead object and record URLs by following the steps here. This can be validated by dropping a record URL into Slack. This is done exactly the same way for Sales and Service Cloud for Slack.
See an example of a View layout for Account from documentation below.
Slack Flow Core Actions
The newer Slack Flow Core Actions are available in flow simply from step 1, though they will not work until you complete step 2 and create flows referencing them. These actions are not specific to the Salesforce for Slack app, as they can be used with other apps (i.e. Sales Cloud for Slack, Service Cloud for Slack, etc...) and are more "core" to the Salesforce and Slack integration across many apps (as their name suggests!).
📝 Note there is some dependency here on the APEX SDK for Slack (Beta) as to use the "View API Name" field (below) you have to Define a View.
All the Salesforce (ahem... Platform) for Slack functional pieces together give you a toolset to create an adaptable configurable integration between the two systems. With flow/flow actions as the "back-end" logic/triggers within Salesforce and the record layouts/unfurling as Salesforce data's "front-end" in Slack -- you can do a lot. Plus, with enhancements like "Flow Core Actions for Slack: Send Message to Launch Flow (Beta)" coming soon, you will be able to trigger flows from buttons pressed in Slack, making fully bidirectional processes possible between Slack and Salesforce.
But, it takes time. The power will come from building it specifically for your organization and then iterating long term to improve the processes, leveraging possible new enhancements as the app continues to be developed going forward.
Do you need help setting this up for your company? Want to chat about what we can help with? Check out our services, check out LinkedIn or contact us via website or Slack Connect (firstname.lastname@example.org or email@example.com). Thanks!