Salesforce · Slack Security & Governance

Sharing rules govern the record. Nothing governs the channel it was posted to.

Salesforce access and Slack access are two different models that nobody reconciles until somebody asks. Push record detail into a broad channel and you have widened visibility past what your sharing model allows — with nothing in Salesforce recording that it happened. We design the access, retention and audit model alongside the build, not after the first review.

Control Model
TWO SEPARATE MODELS Salesforce Access Profiles · Perm sets · Sharing Slack Access Workspaces · Channels · Scopes Guests & Connect App Permissions Licence Types TWOPIR GOVERNANCE LAYER Identity One person, two directories, mapped Exposure What detail goes into which channel Retention How long, and who can retrieve it DESIGNED WITH THE BUILD · NOT AFTER THE AUDIT 2πr WHAT YOU CAN ANSWER Who Saw It Access that matches what was intended What Happened An audit trail that names a person Who Is Outside External access bounded and reviewed MAP · BOUND · RETAIN · REVIEW
12+
Years Salesforce & HubSpot Delivery
500+
Clients Served
250+
Deployments Delivered
15+
Certified Partnerships

Trusted by 500+ organizations — including regulated teams who have to answer who could see what, and when.

LegalZoom
Magnus Health
Aventria
Sterling Law Offices, S.C.
Ideal Health Consulting

What We Govern

  • Salesforce Partner
  • User Mapping
  • Permission Sets
  • App Scopes
  • Record Detail Settings
  • Slack Connect
  • Retention Policies
  • Audit & eDiscovery
Where Control Is Lost

The gaps nobody owns until an audit

Every one of these is the result of two systems being administered by two teams with no agreed model between them. None of them produce an error at the time.

Record detail in a channel of forty

A notification carrying amount, stage and contact detail posted into a broad channel is an access grant. It is not recorded as one, it is not reviewed as one, and the Salesforce sharing model that was supposed to constrain that data had no say in it.

Mapping that grants more than intended

Slack users are mapped to Salesforce users, and where the mapping is wrong the actions taken run in the wrong person's context. It usually shows up as notifications going astray long before anyone frames it as an access problem — but it is one.

App scopes nobody reviewed

An app was installed to solve something two years ago with whatever permissions it requested. Nobody has looked since, and the list of what it can read is longer than anyone would now approve.

Slack Connect used as an afterthought

External channels get created ad hoc for a customer or a vendor. There is no approval, no naming convention, no review, and no list of which outside organisations currently have a live channel into your workspace.

Retention set once, globally

One retention policy applied to everything, chosen years ago to satisfy one requirement. Either you are keeping material you should have deleted, or deleting material you are obliged to keep, and usually both in different channels.

No answer to 'who could see this'

The question arrives from legal, a customer or a regulator, and answering it means reconstructing channel membership at a past date from memory. The absence of that answer is itself the finding.

The Short Version

What governance has to reconcile

Salesforce and Slack enforce access in two different ways, and connecting them does not merge the models. Salesforce governs the record through profiles, permission sets and sharing rules; Slack governs the conversation through workspace, channel and app membership. Governance is the work of deciding how the two line up, and recording that decision.

What the platforms do. Salesforce controls who can act: a Slack user is mapped to a Salesforce user, and actions in the Salesforce apps run in that user's context under their own access rights, so a person cannot act on a record through Slack that they could not act on directly. An admin also controls how much record detail notifications carry. Slack controls who can see the conversation, and on its enterprise plans offers retention policies, legal hold and eDiscovery support, DLP through partner integrations, and key management as an add-on — availability depends on your plan and configuration, which we confirm rather than assume. Slack's own security documentation is here.

The gap between them. Neither platform governs what the other exposes. Slack does not know your sharing rules; Salesforce does not know who is in the channel. Every notification carrying record detail sits in that gap, which is why exposure is a design decision rather than a formatting one.

What Twopir does. We map identity properly, decide detail-per-channel deliberately, bound external collaboration, set retention against the obligation rather than a default, and leave you able to answer who could see what and when. We work with growing, mid-market, and enterprise organizations that need help with complex CRM implementations, integrations, and business system challenges.

Two Models

What each platform governs — and what neither does

The fourth column is the engagement. Everything in it is a decision someone has to take explicitly, because no default in either platform takes it for you.

How the Salesforce and Slack access models differ across identity, record access, visibility, external participants, retention and audit, and where the two must be reconciled deliberately.
ControlSalesforce governsSlack governsWhere they must be reconciled
IdentityThe user, their profile and permission sets.The member, their workspace and channel membership.User mapping. Wrong or missing mapping means actions run in the wrong context, with no error raised.
Record accessSharing rules, field-level security, object permissions.Nothing. Slack has no concept of your sharing model.Actions must run in the acting user's Salesforce context — never as a shared integration account.
Visibility of contentWho can open the record.Who is in the channel where its detail was posted.How much detail a notification carries per channel. This is an access decision, not a layout one.
External participantsCommunity and portal licences, sharing sets.Guests and Slack Connect channels.External people cannot join Salesforce channels, so customer-facing work needs a separate, governed Connect channel.
RetentionField history, audit trail and org data policies.Workspace and channel retention policies.One obligation, two systems. Policies set independently will disagree, usually in the direction you least want.
AuditSetup audit trail and field history.Access logs and, on enterprise plans, eDiscovery export.Answering 'who could see this record detail, and when' requires both sides and is rarely designed for.

Control categories; specific Slack capabilities depend on plan and configuration

Exposure decided per channel

A narrow channel of named owners can carry amount and stage; a company-wide channel gets the fact and a link, with the detail left on the record where the sharing model still governs it. Salesforce provides a record-detail setting for notifications; the per-channel judgement is yours to make and ours to design.

Mapping treated as an access control

Verified per user, re-verified after any app reconnection, and reviewed when people change role. A silent mapping error is an access error that raises no alarm, which makes periodic verification the only way to catch it.

External collaboration bounded

Slack Connect channels created under an approval path with a naming convention, an owner and a review date, plus a maintained list of which outside organisations hold a live channel. External people cannot be invited into Salesforce channels, so this runs alongside rather than inside them.

Retention matched to obligation

Policies set per channel class against the actual legal and regulatory requirement rather than one global default, with legal hold and export paths tested before they are needed rather than during an incident.

What We Deliver

The governance work inside an engagement

Six workstreams. The first two produce the document most organisations discover they have never had.

Access review

Who is mapped to whom, which permission sets are assigned, which apps hold which scopes, and which channels carry record detail. The inventory is usually the first time anyone has seen all of it in one place.

Exposure model

A rule for how much record detail each class of channel may carry, applied to the notification design, so the question of what is safe to post has an answer that is not per-person judgement.

Identity and joiner-mover-leaver

Mapping verified per user and tied to your existing starters and leavers process, so access in both systems changes when someone's role does rather than when someone remembers.

External collaboration policy

Approval, naming, ownership and review for Slack Connect channels and guest accounts, plus the maintained list of who currently has access from outside.

Retention and eDiscovery readiness

Retention per channel class set against the actual obligation, with legal hold and export paths tested rather than assumed. Availability of specific controls depends on your Slack plan, which we confirm first.

Audit answerability

A documented model plus a rehearsed procedure for answering who could see what and when — the question that is expensive precisely because nobody prepared for it.

How We Work

From assumed to evidenced

Four phases. Most organisations find phase one uncomfortable and phase four is what they actually wanted all along.

Phase 01

Inventory what access exists

Mapping, permission sets, app scopes, channel membership on the channels that carry record detail, guests and live Connect channels. Read-only, and usually surprising.

Phase 02

Compare against what was intended

The gap between the two is the finding. We produce it as a list with severity attached rather than as an opinion, so it can be prioritised against everything else you are doing.

Phase 03

Design the model and close the gaps

Exposure rules per channel class, mapping verification built into joiner-mover-leaver, external collaboration under an approval path, retention set per obligation.

Phase 04

Rehearse the questions

Who could see this, when, and who acted. A model nobody has tested against a real question is an assumption, and an incident is a poor time to discover which.

Proof

Access problems we have already found

Delivered Slack engagements on Salesforce. The figures are the ones published on each case study, with their original scope intact.

★★★★★
The goal was never to replace Salesforce — it’s still the system of record. We just made sure the team never had to leave Slack to know what was happening in their pipeline.
Twopir Project Lead SaaS technology client · 2025 Slack Sales Elevate
Case Study

Slack Sales Elevate · Salesforce Integration

Two of the six rollout problems found in testing were access problems: user mapping that sent notifications to the wrong people or nowhere, and missing permission sets that blocked users entirely. Both were corrected before go-live.

2 Of six problems were access problems
5 User groups scoped to their own access
6 Rollout problems found and fixed
Read the Case Study
Case Study

Slack Workspace · 75+ Field Crews

Client-facing channels and a mostly non-desk workforce on personal devices — a governance shape where who is in which channel is the whole control.

75+ Field and office staff onboarded
5,000+ Businesses served by the client
Read the Case Study
Design Note

Permissions are scoped per role, not per team

On the Sales Elevate engagement, permission sets were assigned so sales, pre-sales, managers, finance and customer success each had the access their role required — no more, no less. That is the governance outcome, not a side effect of the rollout.

5 Roles scoped separately
See the Engagement
Why Twopir

We design the control model with the build

Governance added after a system is in use is remediation, and remediation is always more expensive and less complete than design.

We treat exposure as an access decision

How much record detail a notification carries into a given channel is a permissions question, not a formatting one. Framing it correctly is most of the fix.

We verify mapping rather than assume it

A silent mapping error grants the wrong context and raises no alarm. It is verified per user and re-verified after reconnection, because there is no other way to find it.

We check your plan before promising a control

Several Slack enterprise controls are add-ons or plan-dependent. We confirm what you actually have before designing around it, rather than quoting a capability list back at you.

We bound external collaboration

Slack Connect is genuinely useful and it is an access surface. Approval, naming, ownership and a maintained list of who is connected are cheap to set up and impossible to reconstruct later.

We rehearse the audit question

Who could see this, and when. A model nobody has tested against that question is an assumption, and you find out which during the incident.

Common Questions

Answers before the first call

Not for actions. A Slack user is mapped to a Salesforce user, and actions taken through the Salesforce apps run in that user's context under their own access rights, so someone cannot act on a record through Slack that they could not act on directly. What the model does not cover is visibility: record detail posted into a channel is seen by everyone in that channel regardless of your sharing rules. That gap is the thing to design for.

Yes, and it should be a deliberate decision rather than a default. Salesforce provides an admin setting controlling how much record detail is shared in notifications, and beyond that the design choice is what each class of channel may carry. Our usual pattern is that narrow channels of named owners can carry detail, while broad channels get the fact and a link, leaving the detail on the record where the sharing model still applies.

Everyone in that channel from both organisations, which is the point of it and also the risk. It needs an approval path, a naming convention, an owner and a review date, plus a maintained list of which external organisations currently hold a live channel. One constraint worth knowing early: external people cannot be invited into Salesforce channels specifically, so customer-facing collaboration runs in a Connect channel alongside the internal record channel rather than inside it.

On its enterprise plans Slack supports retention policies, legal hold and eDiscovery export, integrates with third-party DLP tools, and offers key management as an add-on. Availability varies by plan and several of these are not base features, so we confirm what your organisation actually has before designing around it rather than quoting the capability list.

Usually yes, and it is one of the quickest wins available. Apps hold the scopes they requested when they were installed, often years ago and often broader than anyone would approve today. An app and scope inventory is part of the access review, and the outcome is frequently a shorter list of installed apps rather than a new control.

Only if you designed for it. Answering properly needs both sides: Salesforce's audit trail and field history for who could open the record, and Slack's access logs and, on enterprise plans, eDiscovery export for who was in the channel. We document the model and rehearse the procedure, because the middle of an incident is the wrong time to find out which logs you do not have.

The design is a project; staying correct is ongoing. Access drifts as people change roles, apps get installed and channels get created, so the model needs a review cadence and mapping needs to be tied to your joiner-mover-leaver process. Some clients run that themselves after we design it; others include it in a managed service.

Next Step

Ask us who can see your pipeline in Slack — then let us find out properly

A governance review covers mapping, permission sets, app scopes, external channels and which channels currently carry record detail. You leave with the inventory and a severity-ranked gap list, whether or not you engage us to close it.

Access designed with the build, not after the audit