SfSkills Domains Docs GitHub

Home / integration / slack-salesforce-integration-setup

slack-salesforce-integration-setup

Use this skill when setting up or troubleshooting the Salesforce for Slack integrations, including connecting a Salesforce org to a Slack workspace through the three-step request, approve, and activate handshake, enabling Salesforce for Slack apps in Slack Apps Setup, link unfurling and record preview data sharing, and user account mapping. NOT for building custom Slack apps or Slack bots (separate development platform), and not for Workflow Builder automations — use integration/slack-workflow-builder.

Open the skill folder on GitHub


Slack Salesforce Integration Setup

This skill activates when a practitioner needs to connect a Salesforce org to a Slack workspace, enable the Salesforce for Slack apps (Sales Cloud for Slack, Service Cloud for Slack, and the rest), decide what record links reveal when shared in Slack, or understand who must do which step. It does NOT cover custom Slack app development, Slack Workflow Builder, or Flow-based Slack messaging.

Two related setups exist and are often confused:

SetupWhere it startsWhat it enablesSource
Connect Salesforce and Slack (org connection)Slack: Tools & settings > Manage Salesforce OrganizationsSlackbot, Salesforce channels, Agentforce in Slack, Slack Sales Elevate; member account mappingSlack Help Center, Connect Salesforce and Slack
Salesforce for Slack Integrations (apps)Salesforce Setup: Slack Apps SetupSales Cloud for Slack, Service Cloud for Slack, CRM Analytics for Slack, link unfurling, record detail securitySlack Integrations guide, Enable Salesforce for Slack Integrations

Before Starting

Gather this context before working on anything in this domain:


Questions to Ask Before Configuring

QuestionWhy it mattersWhat a good answer addsWhat proper configuration adds over just doing it
"Is the org Government Cloud, Government Cloud Plus, or under FedRAMP or HIPAA obligations?"Slack cannot connect to Government Cloud orgs, and Salesforce for Slack is not FedRAMP or HIPAA certifiedA go or no-go before any setup workNo project that fails at the approval step or at an audit
"Who is the Slack Owner (or Salesforce Admin system role holder) and who is the Salesforce System Admin?"Request and activation happen in Slack; approval happens in Salesforce SetupA named person per step and a scheduled sessionA connection finished in one sitting instead of days of hand-offs
"How many Salesforce orgs, including sandboxes, should this workspace reach, and on which Slack plan?"Pro, Business+, and Enterprise plans can connect up to 20 additional orgsA prioritized org listThe orgs that matter are connected and the limit is not hit mid-rollout
"How should Slack members map to Salesforce users: email, SAML NameID, or manual?"Automatic mapping removes a manual sign-in for members; Unified Employee license users can only be mapped automaticallyThe mapping field and whether automatic mapping is onMembers who can use Salesforce features in Slack on day one
"What may a shared record link show, and to whom?"Options range from Do Not Share Data to showing data viewable by the Default Render User or by the person who posted the linkA data sharing option per object and a Slack Record Layout for sensitive objectsPreviews that never expose fields the channel should not see
"Are IP restrictions or a custom org URL change planned?"Features may not work with Salesforce IP restrictions, and a changed org URL requires updating the connectionA network decision and a change runbookNo silent breakage after a My Domain or network change

What a proper configuration adds over "just installing the app": every step has an owner with the right role, compliance blockers are found first, users are mapped and permissioned, and record previews reveal only what the channel is allowed to see.


Core Concepts

The Three-Step Org Connection

  1. Request (Slack): workspace name > Tools & settings > Manage Salesforce Organizations > Connect Salesforce Org; enter the org URL, choose Email or SAML NameID for account mapping, and Request Connection.
  2. Approve (Salesforce): a Salesforce System Admin opens Setup > Platform Tools > Slack > Manage Slack Connection, selects the user mapping field, accepts the terms, and approves.
  3. Activate (Slack): an Owner or a person with the Salesforce Admin system role in Slack selects the pending connection and activates it.

Members with mapped accounts then get the Salesforce app in Slack. Connections use a Salesforce Platform Integration User to manage access to object types for features such as Salesforce channels.

Enabling Salesforce for Slack Apps

In Salesforce Setup > Slack Apps Setup: accept the terms, enable the apps, assign the Connect Salesforce with Slack permission (and app-specific permissions such as Slack Sales User), set object permissions, record detail security, and link unfurling options, then a Slack workspace owner or Enterprise Grid admin installs the apps from the Slack App Directory and authorizes them with Salesforce admin credentials. Finally, each user adds the app to their Slack sidebar and connects their Salesforce account.

Unfurling optionWhat the channel sees
Do Not Share DataThe link is not unfurled
Preview Button OnlyA button that opens the record with the viewer's permissions
Object Type and Preview ButtonObject type plus the button
Name, Type, and Preview ButtonRecord name, object type, plus the button
Data Viewable by Slack Default Render UserRecord data per the Default Render User's permissions
Data Viewable by User Sharing the LinkRecord data per the poster's permissions

For the two "data viewable" options, unfurling uses the URL Unfurling Slack Record Layout assigned for the object, or the object's compact layout if none is assigned. Separately, record detail security (Show object type only or Show record name) currently applies to the Sales Cloud for Slack app only, and "Show record name" includes the record name and key fields "even to users who don't have access in Salesforce".

An earlier version of this skill said previews always follow the page layout visible to the Platform Integration User. The fetched guides describe Slack Record Layouts, compact layouts, and the data sharing options above instead.


Common Patterns

Pattern 1: Initial Org Connection

When to use: First-time connection of a Salesforce org to a Slack workspace.

How it works: Schedule the Slack Owner (or Salesforce Admin system role holder) and the Salesforce System Admin together, run the three steps in order, choose automatic account mapping where possible, then verify that a mapped member sees the Salesforce app in Slack. The step-by-step plan file and the permission set are in 0.

Why plan it: The roles live in two systems; without both present the connection waits in a pending state.

Pattern 2: Record Sharing Governance

When to use: Any org with sensitive fields that users might share as links.

How it works:

  1. List objects with sensitive fields.
  2. Pick an unfurling option per the table above; prefer Preview Button Only or Name, Type, and Preview Button where data must not appear in the channel.
  3. If a "data viewable" option is used, create a URL Unfurling Slack Record Layout per sensitive object with only safe fields, and assign it to the relevant profiles.
  4. Publish a channel policy for public channels, private channels, and Slack Connect channels.

Why this matters: Record preview exposure is the main data-leakage risk in this integration.


Decision Guidance

SituationRecommended ApproachReason
First-time org connectionThree-step request, approve, activate with both role holders presentSteps span Slack and Salesforce
Government Cloud or Government Cloud Plus orgDo not connect; propose a custom integrationNot supported
More orgs than the plan allowsPrioritize production and key sandboxes, or split workspacesPro, Business+, and Enterprise allow up to 20 additional orgs
Sensitive fields shared in SlackPreview-button options, or a restricted URL Unfurling Slack Record LayoutPreviews follow the configured option, not each viewer's field access
User cannot see Salesforce data in SlackCheck mapping, the Connect Salesforce with Slack permission, and the personal account connectionOrg connection alone does not authorize individual users

  1. Run the compliance gate: Government Cloud, Government Cloud Plus, FedRAMP, HIPAA, and Blackjack all stop the project.
  2. Fill in the connection plan (roles, plan, org list, mapping field, unfurling option, IP restrictions) and run python3 skills/integration/slack-salesforce-integration-setup/scripts/check_slack_salesforce_integration_setup.py --plan slack-connection-plan.json.
  3. Assign the Connect Salesforce with Slack permission set to every Slack user, including the workspace owner who installs apps.
  4. Run the three-step org connection with both role holders present, then enable the Salesforce for Slack apps in Slack Apps Setup.
  5. Configure link unfurling and Slack Record Layouts for sensitive objects, and publish the channel policy.
  6. Confirm mapping (automatic or manual) and have each user connect their account from the app in Slack; spot-check with a low-access user.

Review Checklist


Salesforce-Specific Gotchas

One-line summaries; the full entries are in 0.

GotchaShort form
Roles, not peopleRequest and activation need Slack roles; approval needs a Salesforce System Admin
Government CloudCannot connect; apps unsupported in Government Cloud and Government Cloud Plus
Per-user permissionEvery Slack user needs Connect Salesforce with Slack on a supporting license
PreviewsFollow the configured unfurling option and Slack Record Layout, not each viewer's FLS
Org limitUp to 20 additional orgs on Pro, Business+, Enterprise
Legacy appThe Slack-built Salesforce app no longer supports new installations

Output Artifacts

ArtifactDescription
Connection planRoles, plan, orgs, mapping, unfurling, network decisions (checked by the skill script)
Data exposure registerSensitive objects with their unfurling option and Slack Record Layout
User onboarding guidePermission assignment and personal account connection steps

Package files