Salesforce permission sets are one of the most powerful - and most misused - tools in the admin toolkit. When structured well, they give you granular, scalable access control. When structured poorly, you end up with hundreds of overlapping permissions, security gaps, and a system that nobody can audit. This guide covers how RevOps teams should think about permission architecture.

Profiles vs. Permission Sets: The Right Mental Model

Think of it like building access:

  • Profile = Your base keycard. Gets you into the building and the main floor. Every employee gets one, and it grants the minimum access needed.
  • Permission Set = Additional keys. Need access to the finance office? Add that key. Need access to the lab? Add that one too.

The golden rule: Keep profiles as restrictive as possible. Layer access up through permission sets.

Most orgs should have 2–4 base profiles at most:

Profile Description Assigned To
Standard User Basic CRUD on core objects All non-admin users
System Administrator Full access Admins only (2–3 people)
Integration User API-only access Connected apps
Read-Only User View access only Board members, auditors

Structuring Permission Sets by Function

Organize permission sets along two axes: team function and access scope.

Functional Permission Sets

  • Sales Core - Access to Leads, Opportunities, Quotes, Activities
  • Marketing Core - Access to Campaigns, Campaign Members, Lead fields
  • CS Core - Access to Cases, Accounts (expanded), custom CS objects
  • Finance - Access to Invoices, Payment objects, revenue fields

Scope Permission Sets

  • Territory: AMER / EMEA / APAC - Record-level visibility by geography
  • Sensitive Fields - Access to compensation, margin, or PII fields
  • Report Builder - Ability to create and export reports
  • Data Loader - Bulk import/export permissions

Example: A sales rep in EMEA gets the Standard User profile + Sales Core permission set + Territory: EMEA permission set. Three layers, cleanly separated.

Permission Set Groups

Salesforce Permission Set Groups bundle multiple permission sets into a single assignable unit. Use them to simplify user provisioning:

  1. Sales Rep Group = Sales Core + Report Builder + Territory assignment
  2. Sales Manager Group = Sales Rep Group + Sensitive Fields + Dashboard access
  3. Marketing Ops Group = Marketing Core + Report Builder + Data Loader

This turns a 15-minute onboarding checklist into a single assignment.

Common Mistakes

  • Cloning the System Admin profile - Creating “power user” profiles with near-admin access because someone asked for one more permission. This creates security and audit nightmares.
  • One-off permission sets - Creating a permission set for a single person’s request. If only one user needs it, ask why before building it.
  • Forgetting field-level security - Object access without field-level security is like giving someone a key to a room but leaving the filing cabinets locked. Check both layers.
  • No documentation - Every permission set should have a description field explaining who it’s for and why it exists.
  • Ignoring permission set assignments during offboarding - Deactivating a user doesn’t remove their permission sets. Audit assignments quarterly.

Governance Model

Implement this process to keep permissions manageable:

Activity Frequency Owner
New permission set requests via intake form As needed RevOps
Review of permission set assignments Quarterly RevOps + Security
Audit of System Admin profile holders Monthly IT + RevOps
Permission set cleanup (unused/redundant) Bi-annually RevOps
Documentation updates With every change Requesting team

Require a business justification for every new permission set. The request should answer: Who needs this? Why can’t an existing permission set cover it? What’s the security impact?

Key Takeaways

  • Keep base profiles minimal - use permission sets to layer additional access
  • Organize permission sets by function (team) and scope (geography, sensitivity)
  • Use Permission Set Groups to streamline user provisioning and reduce admin overhead
  • Document every permission set and audit assignments quarterly
  • Never create a permission set for a single user without questioning the design