Skip to main content

Custom Permissions

This guide documents all custom permissions in the Suger Salesforce App. Custom permissions control feature access and UI visibility for offers, referrals, and administrative functions.

Overview

Suger uses Salesforce Custom Permissions to control granular access to specific features within the app. These permissions are assigned to users through Permission Sets (see Permission Sets).

Custom permissions differ from Permission Sets in that they:

  • Control specific features and actions (not object access)
  • Enable/disable UI elements like buttons and menu items
  • Follow a hierarchical logic where generic permissions override platform-specific ones

Permission Hierarchy

The Suger permission model uses a hierarchical structure where generic permissions override platform-specific permissions:

GENERIC (applies to all platforms)
├─ Create_Offer ────────► Can create offers for ANY platform
├─ Read_Offer ──────────► Can read offers from ANY platform
├─ Create_Referral ─────► Can create referrals for ANY platform
└─ Read_Referral ───────► Can read referrals from ANY platform

PLATFORM-SPECIFIC (limited to one platform)
├─ AWS
│ ├─ Write_AWS_Offer
│ ├─ Read_AWS_Offer
│ ├─ Write_AWS_Referral
│ └─ Read_AWS_Referral
├─ Azure
│ ├─ Write_Azure_Offer
│ ├─ Read_Azure_Offer
│ ├─ Write_Azure_Referral
│ └─ Read_Azure_Referral
├─ GCP
│ ├─ Write_GCP_Offer
│ ├─ Read_GCP_Offer
│ ├─ Write_GCP_Referral
│ └─ Read_GCP_Referral
└─ Snowflake
├─ Write_SNOWFLAKE_Offer
└─ Read_SNOWFLAKE_Offer
note

If a user has a generic permission (e.g., Create_Offer), they automatically have access to all platforms without needing platform-specific permissions.


Offer Permissions

Generic Offer Permissions

PermissionAPI NameDescriptionUI Effect
Create OfferCreate_OfferCreate offers for any marketplaceShows "New Offer" button, enables offer creation flows
Read OfferRead_OfferView offers from any marketplaceShows offer records and list views for all platforms

Platform-Specific Write Permissions

These permissions allow creating and modifying offers for a specific cloud platform only.

PermissionAPI NameDescription
Write AWS OfferWrite_AWS_OfferCreate/modify AWS marketplace offers
Write Azure OfferWrite_Azure_OfferCreate/modify Azure marketplace offers
Write GCP OfferWrite_GCP_OfferCreate/modify GCP marketplace offers
Write Snowflake OfferWrite_SNOWFLAKE_OfferCreate/modify Snowflake marketplace offers

Platform-Specific Read Permissions

These permissions allow viewing offers for a specific cloud platform only.

PermissionAPI NameDescription
Read AWS OfferRead_AWS_OfferView AWS marketplace offers
Read Azure OfferRead_Azure_OfferView Azure marketplace offers
Read GCP OfferRead_GCP_OfferView GCP marketplace offers
Read Snowflake OfferRead_SNOWFLAKE_OfferView Snowflake marketplace offers

Referral (Co-Sell) Permissions

Generic Referral Permissions

PermissionAPI NameDescriptionUI Effect
Create ReferralCreate_ReferralCreate referrals for any cloud partnerShows referral creation buttons for all platforms
Read ReferralRead_ReferralView referrals from any cloud partnerShows referral records and list views for all platforms

Platform-Specific Write Permissions

PermissionAPI NameDescription
Write AWS ReferralWrite_AWS_ReferralCreate/modify AWS co-sell referrals
Write Azure ReferralWrite_Azure_ReferralCreate/modify Azure co-sell referrals
Write GCP ReferralWrite_GCP_ReferralCreate/modify GCP co-sell referrals

Platform-Specific Read Permissions

PermissionAPI NameDescription
Read AWS ReferralRead_AWS_ReferralView AWS co-sell referrals
Read Azure ReferralRead_Azure_ReferralView Azure co-sell referrals
Read GCP ReferralRead_GCP_ReferralView GCP co-sell referrals

Approval Permissions

These permissions control access to approval workflows for offers and co-sell referrals.

PermissionAPI NameDescriptionUI Effect
Approve OfferApprove_OfferApprove/reject offers in approval workflowShows approval section and actions on offer records
Approve CosellApprove_CosellApprove/reject co-sell referralsShows approval actions on referral records
note

The Approve Offer permission only functions when the Enable Approval Process toggle is active in Suger Settings.


Contact Management Permissions

These permissions control the ability to manage contacts on offer records.

PermissionAPI NameDescriptionUI Effect
Modify Offer ContactsModify_Offer_ContactsAdd/remove contacts from offersShows "Add Contact" button on offer records
Notify Offer ContactsNotify_Offer_ContactsSend notifications to offer contactsShows "Notify Contacts" button on offer records
tip

Users with the Create Offer permission automatically have access to contact management features, even without these specific permissions.


Administrative Permissions

PermissionAPI NameDescriptionUI Effect
Modify SettingsModify_SettingsAccess and modify Suger settingsShows Settings tab and allows configuration changes
note

System Administrators automatically have Modify_Settings capabilities regardless of whether this permission is explicitly assigned.


Permission Checking Logic

The Suger app uses the following logic to determine user access:

For Offer Creation

  1. Check if user has Create_Offer → Grant access to all platforms
  2. If not, check platform-specific permission (e.g., Write_AWS_Offer)
  3. If neither, access is denied

For Offer Reading

  1. Check if user has Create_Offer → Writers can read (grant access)
  2. If not, check if user has Read_Offer → Grant access to all platforms
  3. If not, check platform-specific permission (e.g., Read_AWS_Offer)
  4. If none, access is denied

For Product Filtering

When creating offers, the product list is filtered based on the user's write permissions:

  • If user has Create_Offer → Show products for all platforms
  • If user has only Write_AWS_Offer → Show only AWS products
  • Multiple platform permissions combine (e.g., Write_AWS_Offer + Write_GCP_Offer shows both)

UI Elements Controlled by Permissions

Tab Visibility

TabRequired Permission(s)
ProductsAny marketplace offer permission
OffersAny marketplace offer permission
EntitlementsAny marketplace offer permission
BuyersAny marketplace offer permission
ReferralsAny co-sell referral permission
SettingsModify_Settings or System Administrator

Action Buttons

Button/ActionRequired Permission(s)
Create OfferCreate_Offer OR any Write_*_Offer
Edit OfferPlatform-specific write permission for the offer's partner
Approve/Reject OfferApprove_Offer
Add ContactModify_Offer_Contacts OR Create_Offer
Notify ContactsNotify_Offer_Contacts OR Create_Offer
Create ReferralCreate_Referral OR any Write_*_Referral
Edit ReferralPlatform-specific write permission for the referral's partner
Approve/Reject ReferralApprove_Cosell
Delete ReferralUses native Salesforce object permissions (isDeletable())

Permission Set Assignments

The following table shows which custom permissions are included in each permission set:

Suger User (Full Access)

The Suger User permission set grants access to ALL custom permissions across all platforms:

Permission CategoryPermissions Included
Generic OfferCreate_Offer, Read_Offer
AWS OfferWrite_AWS_Offer, Read_AWS_Offer
Azure OfferWrite_Azure_Offer, Read_Azure_Offer
GCP OfferWrite_GCP_Offer, Read_GCP_Offer
Snowflake OfferWrite_SNOWFLAKE_Offer, Read_SNOWFLAKE_Offer
Generic ReferralCreate_Referral, Read_Referral
AWS ReferralWrite_AWS_Referral, Read_AWS_Referral
Azure ReferralWrite_Azure_Referral, Read_Azure_Referral
GCP ReferralWrite_GCP_Referral, Read_GCP_Referral
Contact ManagementModify_Offer_Contacts, Notify_Offer_Contacts
note

Suger User is the standard permission set for human users requiring full access to the Suger app across all cloud platforms. Use platform-specific permission sets for restricted access.

Marketplace Permission Sets

PermissionMarketplace Read OnlyMarketplace AWSMarketplace AzureMarketplace GCPMarketplace Snowflake
Read_Offer
Write_AWS_Offer
Read_AWS_Offer
Write_Azure_Offer
Read_Azure_Offer
Write_GCP_Offer
Read_GCP_Offer
Write_SNOWFLAKE_Offer
Read_SNOWFLAKE_Offer
Modify_Offer_Contacts
Notify_Offer_Contacts

Co-Sell Permission Sets

PermissionCosellCosell AWSCosell AzureCosell GCPCosell Read Only
Create_Referral
Read_Referral
Write_AWS_Referral
Read_AWS_Referral
Write_Azure_Referral
Read_Azure_Referral
Write_GCP_Referral
Read_GCP_Referral

Administrative Permission Sets

PermissionSuger IntegratorSuger Approver
All Offer Permissions
All Referral Permissions
Approve_Offer
Approve_Cosell
Modify_Settings
Modify_Offer_Contacts
Notify_Offer_Contacts
note

Suger Integrator is dedicated for integration/API users (not human users). It has the same custom permissions as Suger User, plus Approve_Offer, Approve_Cosell, and Modify_Settings for full system access.


Best Practices

Principle of Least Privilege

Assign the most restrictive permission set that meets the user's needs:

  • For human users who need full access to the Suger app, use Suger_User
  • For users who only work with one cloud platform, use platform-specific permission sets
  • Reserve Suger_Integrator for integration/API users only (not human users)

Permission Set Groups

Consider creating Permission Set Groups to combine multiple permissions:

  • AWS Power User: Suger_User_Marketplace_AWS + Suger_User_Cosell_AWS
  • Multi-Cloud Viewer: Suger_User_Marketplace_Read + Suger_User_Cosell_Read

Testing Permissions

Before deploying permission changes to production:

  1. Create a test user with the target permission set
  2. Verify tab visibility matches expectations
  3. Confirm action buttons appear/hide correctly
  4. Test actual CRUD operations to verify object-level access