Slack Integration User

Sharing Salesforce data securely is essential regardless if users are chatting on public, private, multi-party, or connect channels. Salesforce sends data to Slack, but Slack must know how to display data based on each user's context within a given channel. The Slack System User configuration page provides the most secure rendering experience for multi-user Salesforce content displayed in Slack from Salesforce. All users get a tailored experience based on the preferences configured on the Slack Integration User Setup.

To get a better of understanding of how to use the integration user setup in Salesforce it's necessary to understand the types of users within Slack.

Within any Slack Channel, there are three categories of users:

  1. Default Render User, a global user that has access to all Slack apps.
  2. System User, a user based on a system event.
  3. Unmapped User, a user not mapped between Salesforce and Slack when a request is made for that user.
  1. From Setup, in the Quick Find box, enter Apex.
  2. Select Build Slack Apps with Apex.
  3. Accept the terms of services.
  4. In the Quick Find box, enter System Users.
  5. Select System Users Setup.

IntegrationUserSetup

Shared user mappings enable a Slack user to authenticate to a Salesforce org one time for all Apex SDK for Slack apps. These apps must be installed in the same Salesforce org within the same Slack workspace. When a user authenticates successfully to one of these apps, a shared user-mapping record is created.

The Slack User Mappings page in your Personal Settings shows the Slack users who are mapped to your Salesforce account. This page is available only in Lightning Experience.

On the Slack User Mappings page, you can delete a user mapping if you no longer wish to use an Apex SDK for Slack app. To remove the shared user-mapping record in your org:

  1. From your personal settings, in the Quick Find box, enter Slack, and then select Slack User Mappings.
  2. Click the dropdown next to the user mapping you want to delete. Select Delete.

Removing the shared user-mapping record doesn’t remove your org association from the app. You’ll be prompted to reconnect your app to the same org next time, which then establishes a new user-mapping record.

To fully revoke user mapping to an org or app, an admin must deactivate the user in the Salesforce org or Slack app. By doing so, you can then associate the Slack user with another user of that org.

Alternatively, if you must associate a Slack workspace to a different org, we recommend that you uninstall the app from the Slack workspace before attempting to connect the workspace to the org.

The following list of scenarios result in an error.

  • Connecting a Slack app and user to a Salesforce org with a different Salesforce username. After a Slack user-mapping record is created, Apex SDK for Slack uses it for org authentication. However, if you install the Slack app in a different workspace, then you can use a different Salesforce username.
  • A user doesn't have permission to access a Slack app.
  • An org doesn't have permission to access a Slack app.

Slack displays Dispatch failed if it doesn't get a response from the SDK within a certain time limit, receives a 404, or encounters an unexpected error.