Category Archives: Uncategorized

Chasing Down System Permissions

Q: How do I list (1) all Users who have a particular System Permission, and (2) which Permission Sets, Permission Set Groups, and Profiles grant them that Perm?

A: Try this! Substitute whatever System Permission you prefer for PermissionsViewAllUsers.

  SELECT Assignee.Name, PermissionSet.Type, PermissionSet.Label
    FROM PermissionSetAssignment
   WHERE PermissionSet.PermissionsViewAllUsers = TRUE
ORDER BY Assignee.Name, PermissionSet.Type, PermissionSet.Label

. . . that’ll get you something like this in Salesforce Inspector Reloaded:

Note how Users can be granted the same Permission multiple times by different Permission Sets, Permission Set Groups, or Profiles. . . and I agree, the “Profile” lines are a little opaque!

  • Inspector is kind enough to link the 4th and 7th lines to the relevant Profile record.
  • I don’t know how you’d intuit that the 2nd line points at the System Administrator Profile–that 00ex00000018ozh_128_09_04_12_1 has the 00e prefix of a Profile, but I dunno what to tell you about the rest of it.

As of November 15, 2025, here are the 398 System Permissions I found in API v62 (thank you Workbench!):

Access Actionable Relationship Center for partner usersPermissionsFSCArcGraphCommunityUser
Access ActivitiesPermissionsActivitiesAccess
Access Contact Intelligence View in Partner SitesPermissionsContactInspectorUser
Access Conversation EntriesPermissionsCanAccessCE
Access Custom Mobile AppsPermissionsCustomMobileAppsAccess
Access Customer Asset Lifecycle Management APIsPermissionsLifecycleManagementAPIUser
Access drag-and-drop content builderPermissionsAccessContentBuilder
Access Experience ManagementPermissionsAccessCMC
Access Lead Intelligence View in Partner SitesPermissionsLeadInspectorUser
Access LibrariesPermissionsContentWorkspaces
Access Personalization PlatformPermissionsPersonalizationPlatform
Access Service EinsteinPermissionsAccessServiceEinstein
Access the Fulfillment Order routing APIs.PermissionsUseRouting
Access to manage the template framework appsPermissionsAppFrameworkManageApp
Access to view Data AssessmentPermissionsViewDataAssessment
Access to view templated apps and assetsPermissionsAppFrameworkViewApp
Access to View-Only Licensed Templates and AppsPermissionsViewOnlyEmbeddedAppUser
Access Tracer for External Data SourcesPermissionsTraceXdsQueries
Access Virtual Desktop Infrastructure for Voice Calls through CitrixPermissionsCitrixVDIPlatform
Account Switcher UserPermissionsAccountSwitcherUser
Activate ContractsPermissionsActivateContract
Activate OrdersPermissionsActivateOrder
Add additional items to an order summary.PermissionsUseAddOrderItemSummary
Add CRM Analytics Remote ConnectionsPermissionsAddAnalyticsRemoteConnections
Add order item summary level adjustments.PermissionsUseAddAdjustment
Add People to Direct MessagesPermissionsAddDirectMessageMembers
Add Recipients to CRM Analytics NotificationsPermissionsAddWaveNotificationRecipients
Advanced Csv Data Import User Permission PermissionsAdvancedCsvDataImportUser
Agent Initiated Outbound MessagingPermissionsLMOutboundMessagingUserPerm
Agentforce Service Agent UserPermissionsAgentforceServiceAgentUser
Allow access to creating and editing reports in Data Cloud ReportingPermissionsCdcReportingCreateReports
Allow Access to Customized ActionsPermissionsUseWebLink
Allow access to managing folders in Data Cloud ReportingPermissionsCdcReportingManageFolders
Allow access to viewing reports in Data Cloud ReportingPermissionsCdcReportingViewReports
Allow blockchain data uploadPermissionsEnableIPFSUpload
Allow consumer key and secret rotationPermissionsClientSecretRotation
Allow Inclusion of Code Snippets from UIPermissionsChatterComposeUiCodesnippet
Allow Sale PaymentsPermissionsCombAuthAndCapPayments
Allow sending of List EmailsPermissionsListEmailSend
Allow user to access privacy dataPermissionsPrivacyDataAccess
Allow user to modify Private ConnectionsPermissionsManageExternalConnections
Allow users to manage models in Einstein StudioPermissionsManageCdpMlModels
Allow users to view MLModels and related EntitiesPermissionsViewMLModels
Allow View KnowledgePermissionsAllowViewKnowledge
Allows the Cloud Integration User to perform SalesforceIQ internal operationsPermissionsSalesforceIQInternal
Allows users to modify Named Credentials and External CredentialsPermissionsManageNamedCredentials
Apex REST ServicesPermissionsApexRestServices
API EnabledPermissionsApiEnabled
Api Only UserPermissionsApiUserOnly
Approval AdminPermissionsApprovalAdmin
Approval DesignerPermissionsApprovalDesigner
Assign Permission SetsPermissionsAssignPermissionSets
Assign TopicsPermissionsAssignTopics
Attribution Model UserPermissionsAttributionModelUser
Author ApexPermissionsAuthorApex
Authorize PaymentsPermissionsAuthorizePayments
Basic Csv Data Import User Permission PermissionsSimpleCsvDataImportUser
Bulk API Hard DeletePermissionsBulkApiHardDelete
Campaign InfluencePermissionsCampaignInfluence2
Can Approve Feed Post and CommentPermissionsCanApproveFeedPost
Cancel order item summaries.PermissionsUseOrderItemSummaryCancel
Capture and Reverse PaymentsPermissionsCaptureAndReversePayments
Change Dashboard ColorsPermissionsChangeDashboardColors
Chatter Internal UserPermissionsChatterInternalUser
Close Conversation ThreadsPermissionsCloseConversations
Configure Custom RecommendationsPermissionsConfigCustomRecs
Configure Dataspace ScopePermissionsConfigureDataspaceScope
Configure MessagingPermissionsConfigureLiveMessage
Connect Org to Customer 360 Data ManagerPermissionsManageHubConnections
Connect Org to Data CloudPermissionsManageC360AConnections
Connect Organization to Environment HubPermissionsConnectOrgToEnvironmentHub
Contact Center AdminPermissionsIsContactCenterAdmin
Contact Center AgentPermissionsIsContactCenterAgent
Contact Center SupervisorPermissionsIsContactCenterSupervisor
Control Call RecordingPermissionsCanToggleCallRecordings
Convert LeadsPermissionsConvertLeads
Create AI Insight ObjectsPermissionsAICreateInsightObjects
Create and Customize DashboardsPermissionsCreateCustomizeDashboards
Create and Customize List ViewsPermissionsCreateCustomizeFilters
Create and Customize ReportsPermissionsCreateCustomizeReports
Create and Edit CRM Analytics DashboardsPermissionsInsightsAppDashboardEditor
Create and Own New Chatter GroupsPermissionsChatterOwnGroups
Create and Set Up ExperiencesPermissionsManageNetworks
Create and Update Second-Generation PackagesPermissionsPackaging2
Create AppExchange PackagesPermissionsCreateMultiforce
Create B2B Marketing Analytics AppsPermissionsB2BMarketingAnalyticsUser
Create CMS Workspaces and ChannelsPermissionsManageCMS
Create Content DeliveriesPermissionsDistributeFromPersWksp
Create credit memos.PermissionsUseCreateCreditMemo
Create CRM Analytics AppsPermissionsInsightsCreateApplication
Create Dashboard FoldersPermissionsCreateDashboardFolders
Create Folders for Lightning Email TemplatesPermissionsCreateLtngTempFolder
Create LibrariesPermissionsCreateWorkspaces
Create order summaries by using APIs.PermissionsUseCreateOrderSummary
Create Public LinksPermissionsChatterFileLink
Create Report FoldersPermissionsCreateReportFolders
Create TopicsPermissionsCreateTopics
Create, edit, and delete External Client AppsPermissionsExternalClientAppDeveloper
Custom Applications for Field Service MobilePermissionsCustomAppsOnFSMobile
Customize ApplicationPermissionsCustomizeApplication
Data Cloud FlexCards for Financial Services CloudPermissionsPersonalizedFinanceUserAccess
Delete Activated ContractsPermissionsDeleteActivatedContract
Delete Credit Memo and InvoicePermissionsDeleteCrMemoAndInvoice
Delete Second-Generation PackagesPermissionsPackaging2Delete
Delete TopicsPermissionsDeleteTopics
Design and Deliver In-App GuidancePermissionsCanEditPrompts
Digital Lending Admin UserPermissionsDigitalLendingAdminUser
Digital Lending Edit Read Only Party Related RecordsPermissionsDigitalLendingEditReadOnly
Digital Lending UserPermissionsDigitalLendingUser
Digital Lending WorkbenchPermissionsDigitalLendingWorkbench
Dispute Management UserPermissionsAccessToDisputeManagement
Download AppExchange PackagesPermissionsInstallMultiforce
Download CRM Analytics DataPermissionsWaveTabularDownload
Download Package Version Zip FilesPermissionsDownloadPackageVersionZips
Drag-and-Drop Dashboard BuilderPermissionsCanUseNewDashboardBuilder
Edit Activated OrdersPermissionsEditActivatedOrders
Edit Case CommentsPermissionsEditCaseComments
Edit CRM Analytics DataflowsPermissionsInsightsAppEltEditor
Edit Dataset RecipesPermissionsCanEditDataPrepRecipe
Edit HTML TemplatesPermissionsEditHtmlTemplates
Edit My DashboardsPermissionsEditMyDashboards
Edit My Own PostsPermissionsChatterEditOwnPost
Edit My ReportsPermissionsEditMyReports
Edit Opportunity Product Sales PricePermissionsEditOppLineItemUnitPrice
Edit Posts on Records I OwnPermissionsChatterEditOwnRecordPost
Edit Read Only FieldsPermissionsEditReadonlyFields
Edit Repricing InformationPermissionsEditRepricing
Edit TopicsPermissionsEditTopics
Einstein SearchPermissionsUseMySearch
Email AdministrationPermissionsEmailAdministration
Email-Based Identity Verification OptionPermissionsAllowEmailIC
Enable blockchain transaction polling APIPermissionsEnableBCTransactionPolling
Enable RecordVisibility APIPermissionsRecordVisibilityAPI
Enable Salesforce CMS IntegrationPermissionsHeadlessCMSAccess
Enable System Mode Flow ActivationPermissionsActivateSystemModeFlows
Enable WDCPermissionsWorkDotComUserPerm
Enable WDC CalibrationPermissionsWorkCalibrationUser
Enables the Appointment Booking featurePermissionsAppointmentBookingUserAccess
End Messaging SessionPermissionsLMEndMessagingSessionUserPerm
Engagement Config UserPermissionsEngagementConfigUser
Enhanced Chat AgentPermissionsEmbeddedMessagingAgent
Execute blind returns.PermissionsUseOrderItemSummaryReturn
Execute ensure funds.PermissionsUseEnsureFunds
Exempt from Transaction SecurityPermissionsTransactionSecurityExempt
Export ReportsPermissionsExportReport
Facility ManagerPermissionsSchedulingFacilityManager
Files Connect CloudPermissionsContentHubUser
Freeze UsersPermissionsFreezeUsers
Give Recognition Badges in Experience Builder SitesPermissionsGiveRecognitionBadge
Grant users permission to SfDrivePermissionsAccessSfDrive
Headless Publish Nudges UserPermissionsHeadlessPublishNudges
Hide Option to Switch to Salesforce ClassicPermissionsPreventClassicExperience
Hide the Seen By ListPermissionsHideReadByList
Import Custom ObjectsPermissionsImportCustomObjects
Import LeadsPermissionsImportLeads
Import Personal ContactsPermissionsImportPersonal
Import SolutionsPermissionsSolutionImport
Initiate Messaging SessionsPermissionsCanInitiateMessagingSessions
Insert System Field Values for Chatter FeedsPermissionsCanInsertFeedSystemFields
Instant Actionable ResultsPermissionsUseAssistantDialog
Invite Customers To ChatterPermissionsChatterInviteExternalUsers
Knowledge OnePermissionsAllowUniversalSearch
Let a user be included in appointments in Salesforce Scheduler.PermissionsLightningSchedulerUserAccess
Let greeters access the Lobby Management tab.PermissionsLobbyManagementUserAccess
Lightning Console UserPermissionsLightningConsoleAllowedForUser
Lightning Experience UserPermissionsLightningExperienceUser
Lightning Login UserPermissionsAllowLightningLogin
Make PaymentsPermissionsMakePayments
Manage Access PoliciesPermissionsManageAccessPolicies
Manage Agentforce Service AgentsPermissionsManageAgentforceServiceAgent
Manage All Private Reports and DashboardsPermissionsManagePvtRptsAndDashbds
Manage ArticlesPermissionsEditKnowledge
Manage Auth. ProvidersPermissionsManageAuthProviders
Manage BillingPermissionsEditBillingInfo
Manage BotsPermissionsBotManageBots
Manage Bots Training DataPermissionsBotManageBotsTrainingData
Manage Business Hours HolidaysPermissionsManageBusinessHourHolidays
Manage Call CentersPermissionsManageCallCenters
Manage CasesPermissionsManageCases
Manage CategoriesPermissionsManageCategories
Manage CertificatesPermissionsManageCertificates
Manage Chatter Messages and Direct MessagesPermissionsManageChatterMessages
Manage Connected AppsPermissionsManageRemoteAccess
Manage Content PermissionsPermissionsManageContentPermissions
Manage Content PropertiesPermissionsManageContentProperties
Manage Content TaxonomyPermissionsManageContentTaxonomy
Manage CRM AnalyticsPermissionsInsightsAppAdmin
Manage CRM Analytics Custom MapsPermissionsCanManageMaps
Manage CRM Analytics Private AssetsPermissionsWaveManagePrivateAssetsUser
Manage CRM Analytics SubscriptionsPermissionsManageSubscriptions
Manage CRM Analytics Templated AppsPermissionsManageTemplatedApp
Manage Custom DomainsPermissionsManageCustomDomains
Manage Custom PermissionsPermissionsManageCustomPermissions
Manage Custom Report TypesPermissionsManageCustomReportTypes
Manage Dashboards in Public FoldersPermissionsManageDashbdsInPubFolders
Manage Data CategoriesPermissionsManageDataCategories
Manage Data IntegrationsPermissionsManageDataIntegrations
Manage Data Mask PoliciesPermissionsManageDataMaskPolicies
Manage Dataspace ScopePermissionsManageDataspaceScope
Manage Dynamic DashboardsPermissionsManageDynamicDashboards
Manage Email Client ConfigurationsPermissionsManageEmailClientConfig
Manage Email TemplatesPermissionsEmailTemplateManagement
Manage Encryption KeysPermissionsManageEncryptionKeys
Manage EntitlementsPermissionsManageEntitlements
Manage ExperiencesPermissionsGovernNetworks
Manage FlowPermissionsManageInteraction
Manage Health CheckPermissionsManageHealthCheck
Manage Integration ConnectionsPermissionsManageIntegrationConnections
Manage Internal UsersPermissionsManageInternalUsers
Manage IP AddressesPermissionsManageIpAddresses
Manage Knowledge Article Import/ExportPermissionsManageKnowledgeImportExport
Manage LeadsPermissionsManageLeads
Manage LearningPermissionsLearningManager
Manage Learning ReportingPermissionsManageLearningReporting
Manage LetterheadsPermissionsEditBrandTemplates
Manage Lightning SyncPermissionsManageExchangeConfig
Manage Login Access PoliciesPermissionsManageLoginAccessPolicies
Manage Macros Users Can’t UndoPermissionsSubmitMacrosAllowed
Manage MFA in APIPermissionsManageTwoFactor
Manage MFA in User InterfacePermissionsDelegatedTwoFactor
Manage Mobile ConfigurationsPermissionsManageMobile
Manage Next Best Action RecommendationsPermissionsManagePropositions
Manage Next Best Action StrategiesPermissionsManageRecommendationStrategies
Manage Orchestration RunsPermissionsManageOrchestrationRuns
Manage Orchestration Runs and Work ItemsPermissionsManageOrchInstsAndWorkItems
Manage Password PoliciesPermissionsManagePasswordPolicies
Manage Policies’ Files And AttachmentsPermissionsManageFilesAndAttachments
Manage Profiles and Permission SetsPermissionsManageProfilesPermissionsets
Manage Promoted Search TermsPermissionsManageSearchPromotionRules
Manage Public Classic Email TemplatesPermissionsEditPublicTemplates
Manage Public DocumentsPermissionsEditPublicDocuments
Manage Public Lightning Email TemplatesPermissionsCreateLtngTempInPub
Manage Public List ViewsPermissionsEditPublicFilters
Manage Published SolutionsPermissionsManageSolutions
Manage record types and layouts for FilesPermissionsManageContentTypes
Manage Release UpdatesPermissionsManageReleaseUpdates
Manage Reporting SnapshotsPermissionsManageAnalyticSnapshots
Manage Reports in Public FoldersPermissionsManageReportsInPubFolders
Manage RolesPermissionsManageRoles
Manage Salesforce CRM ContentPermissionsContentAdministrator
Manage Salesforce KnowledgePermissionsManageKnowledge
Manage Security CenterPermissionsManageSecurityCommandCenter
Manage Session Permission Set ActivationsPermissionsManageSessionPermissionSets
Manage SharingPermissionsManageSharing
Manage StoresPermissionsManageStores
Manage SurveysPermissionsManageSurveys
Manage SynonymsPermissionsManageSynonyms
Manage Unlisted GroupsPermissionsManageUnlistedGroups
Manage UsersPermissionsManageUsers
Manufacturing Cloud Service Part Return Management UserPermissionsUseServicePartReturn
Mass Edits from ListsPermissionsMassInlineEdit
Merge TopicsPermissionsMergeTopics
Message on MobilePermissionsMobileMessagingAgent
Messaging AgentPermissionsLiveMessageAgent
Metadata studio UserPermissionsMetadataStudioUser
Migrate Enablement ContentPermissionsCMSECEAuthoringAccess
Moderate ChatterPermissionsModerateChatter
Moderate Experience Cloud Site UsersPermissionsModerateNetworkUsers
Modify All DataPermissionsModifyAllData
Modify All Policy Center PoliciesPermissionsModifyAllPolicyCenterPolicies
Modify Data ClassificationPermissionsModifyDataClassification
Modify Metadata Through Metadata API FunctionsPermissionsModifyMetadata
Monitor Login HistoryPermissionsMonitorLoginHistory
Multi-Factor Authentication for API LoginsPermissionsTwoFactorApi
Multi-Factor Authentication for User Interface LoginsPermissionsForceTwoFactor
Natural Language SearchPermissionsUseQuerySuggestions
Omnichannel Inventory BasicPermissionsOmnichannelInventoryBasic
Omnichannel Inventory SyncPermissionsOmnichannelInventorySync
Password Never ExpiresPermissionsPasswordNeverExpires
Payments Api UserPermissionsPaymentsAPIUser
Personalization Intelligence UserPermissionsPersonalizationIntelUser
Pin Posts in FeedsPermissionsFeedPinning
Prism Playground UserPermissionsPrismPlaygroundUser
Provides access to Financial Services Email prompt templatesPermissionsAccessDisputePrompts
Public Complaint Management UserPermissionsAccessToComplaintMgmt
Query All FilesPermissionsQueryAllFiles
Query Non Vetoed FilesPermissionsQueryNonVetoedFiles
Queue ManagerPermissionsSchedulingLineAmbassador
Quip MetricsPermissionsQuipMetricsAccess
Quip User Engagement MetricsPermissionsQuipUserEngagementMetrics
Reassign Orchestration Work ItemsPermissionsReassignOrchestrationWorkItems
Receive Certificate Expiration NotificationsPermissionsManageCertificatesExpiration
Recipes View OnlyPermissionsCanViewDataPrepRecipe
Refund PaymentsPermissionsRefundPayments
Remain in Salesforce ClassicPermissionsLtngPromoReserved01UserPerm
Remote Media for Virtual DesktopPermissionsRemoteMediaVirtualDesktop
Remove People from Direct MessagesPermissionsRemoveDirectMessageMembers
Report BuilderPermissionsNewReportBuilder
Report Builder (Lightning Experience)PermissionsCreateReportInLightning
Require Flow User Feature LicensePermissionsFlowUFLRequired
Reset User Passwords and Unlock UsersPermissionsResetPasswords
Run FlowsPermissionsRunFlow
Run Macros on Multiple RecordsPermissionsBulkMacrosAllowed
Run ReportsPermissionsRunReports
Sales ConsolePermissionsSalesConsole
Sales Insights AdminPermissionsSalesInsightsUser
Salesforce Anywhere in Lightning ExperiencePermissionsIsotopeLEX
Salesforce Anywhere Integration AccessPermissionsIsotopeCToCUser
Salesforce Anywhere on MobilePermissionsIsotopeAccess
Salesforce Mobile App: Native scrolling on webviewsPermissionsNativeWebviewScrolling
Salesforce Mobile App: Native Seller ExperiencePermissionsEnhancedSalesMobileExp
Schedule ReportsPermissionsScheduleReports
Segment Intelligence UserPermissionsSegmentIntelligenceUser
Select Files from SalesforcePermissionsSelectFilesFromSalesforce
Send announcement emailsPermissionsSendAnnouncementEmails
Send Custom NotificationsPermissionsSendCustomNotifications
Send Initial SMS Message to IndividualPermissionsCanSendInitialSMSToIndividual
Send Non-Commercial EmailPermissionsTransactionalEmailSend
Send Outbound MessagesPermissionsEnableNotifications
Send Stay-in-Touch RequestsPermissionsSendSitRequests
Service Process UserPermissionsAccessToServiceProcess
Set Up Partner Connect for a Partner OrgPermissionsPrmExtIntPrtnrAdminUser
Share internal Knowledge articles externallyPermissionsShareInternalArticles
Show App Launcher in Experience Cloud SitesPermissionsEnableCommunityAppLauncher
Show Company Name as Site RolePermissionsShowCompanyNameAsUserBadge
Show Custom Sidebar On All PagesPermissionsCustomSidebarOnAllPages
Skip Device Activation at LoginPermissionsSkipIdentityConfirmation
Stage Management Designer UserPermissionsStageManagementDesignUser
Subscribe to CRM Analytics AssetsPermissionsUseSubscriptionEmails
Subscribe to DashboardsPermissionsSubscribeToLightningDashboards
Subscribe to Dashboards: Add RecipientsPermissionsSubscribeDashboardToOtherUsers
Subscribe to Dashboards: Send to Groups and RolesPermissionsSubscribeDashboardRolesGrps
Subscribe to ReportsPermissionsSubscribeToLightningReports
Subscribe to Reports: Add RecipientsPermissionsSubscribeReportToOtherUsers
Subscribe to Reports: Send to Groups and RolesPermissionsSubscribeReportRolesGrps
Subscribe to Reports: Set Running UserPermissionsSubscribeReportsRunAsUser
Test Sandboxes in Mobile Publisher for Experience CloudPermissionsSandboxTestingInCommunityApp
Transfer CasesPermissionsTransferAnyCase
Transfer LeadsPermissionsTransferAnyLead
Transfer RecordPermissionsTransferAnyEntity
Update Consent Preferences Using REST APIPermissionsConsentApiUpdate
Update Email MessagesPermissionsCanUpdateEmailMessage
Upload AppExchange PackagesPermissionsPublishMultiforce
Upload External Data to CRM AnalyticsPermissionsInsightsAppUploadUser
Use Advanced Delivery Estimation Service APIsPermissionsUseAdvancedDeliveryEstimationAPI
Use CRM AnalyticsPermissionsInsightsAppUser
Use CRM Analytics Templated AppsPermissionsUseTemplatedApp
Use Delivery Estimation ServicePermissionsUseDeliveryEstimation
Use Delivery Estimation Service APIsPermissionsUseDeliveryEstimationAPIs
Use Einstein Activity CapturePermissionsAutomaticActivityCapture
Use Einstein Activity Capture StandardPermissionsStdAutomaticActivityCapture
Use Identity ConnectPermissionsIdentityConnect
Use Identity FeaturesPermissionsIdentityEnabled
Use InboxPermissionsSalesforceIQInbox
Use Omnichannel Inventory APIsPermissionsUseOmnichannelInventoryAPIs
Use Order EntryPermissionsUseOrderEntry
Use Order Management Add Order Item Summary APIsPermissionsUseAddOrderItemSummaryAPIs
Use Order Management AnalyticsPermissionsUseOMAnalytics
Use Order Management Exchange APIsPermissionsUseExchangesAPIs
Use Order Management Fulfillment APIsPermissionsUseFulfillmentAPIs
Use Order Management Return APIsPermissionsUseReturnOrderAPIs
Use Order Management Return OrderPermissionsUseReturnOrder
Use Payments or Access PaymentsPermissionsViewPayments
Use Register Guest Buyer API PermissionsUseRegisterGuestBuyerAPI
Use Repricing Objects and APIsPermissionsUseRepricing
Use Team Reassignment WizardsPermissionsUseTeamReassignWizards
User Has Unlimited Next Best Action Strategy ExecutionsPermissionsHasUnlimitedNBAExecutions
User license to access Lightning components and features delivered in Financial Services Cloud.PermissionsFSCComprehensiveUserAccess
Verify Answers to Chatter QuestionsPermissionsCanVerifyComment
View Access PoliciesPermissionsViewAccessPolicies
View AI Insight ObjectsPermissionsAIViewInsightObjects
View All ActivitiesPermissionsViewAllActivities
View All Custom SettingsPermissionsViewAllCustomSettings
View All DataPermissionsViewAllData
View all External Client AppsPermissionsExternalClientAppViewer
View all External Client Apps, view their settings, and edit their policiesPermissionsExternalClientAppAdmin
View All Lookup Record NamesPermissionsViewAllForeignKeyNames
View All Policy Center PoliciesPermissionsViewAllPolicyCenterPolicies
View All ProfilesPermissionsViewAllProfiles
View All UsersPermissionsViewAllUsers
View All Voice And Video CallsPermissionsViewAllCalls
View and Edit Converted LeadsPermissionsAllowViewEditConvertedLeads
View Concealed Field DataPermissionsViewUserPII
View Content in PortalsPermissionsViewContent
View Content TaxonomyPermissionsViewContentTaxonomy
View CRM Analytics on Experience Cloud site pages.PermissionsWaveCommunityUser
View Dashboards in Public FoldersPermissionsViewPublicDashboards
View Data Categories in SetupPermissionsViewDataCategories
View Developer NamePermissionsViewDeveloperName
View Encrypted DataPermissionsViewEncryptedData
View Event Log FilesPermissionsViewEventLogFiles
View External Client App Consumer Secrets in MetadataPermissionsViewClientSecret
View Health CheckPermissionsViewHealthCheck
View Help LinkPermissionsViewHelpLink
View Login Forensics EventsPermissionsViewPlatformEvents
View My Team’s DashboardsPermissionsViewMyTeamsDashboards
View Orchestrations in Automation AppPermissionsViewOrchestrationsInAutomApp
View Private Static ResourcesPermissionsViewPrivateStaticResources
View Real-Time Event Monitoring DataPermissionsViewDataLeakageEvents
View RecommendationsPermissionsViewRecommendations
View Reports in Public FoldersPermissionsViewPublicReports
View Restriction and Scoping RulesPermissionsViewRestrictionAndScopingRules
View Roles and Role HierarchyPermissionsViewRoles
View Security Center pagesPermissionsViewSecurityCommandCenter
View Setup and ConfigurationPermissionsViewSetup
View Threat Detection EventsPermissionsViewAnomalyEvents
Waive Multi-Factor Authentication for Exempt UsersPermissionsBypassMFAForUiLogins
Weekly Data ExportPermissionsDataExport

ALL Permission Sets in One Place

Q: “How can I see all Permission Sets assigned to a user, regardless whether they’re assigned directly to the Permission Set or via a Permission Set Group?”

A: It’s weird how tough this is.

. . . there’s some ability to do this with Salesforce’s newish “View Summary” button, but it’s not the same (here’s my rant, if you’re interested).

  • I’ve been noodling with SOQL, and come up with this:

SELECT Label, Type,
      (SELECT PermissionSet.Label, Assignee.Name
       FROM PermissionSet.Assignments 
       WHERE Assignee.Name = 'USERNAME'),
      (SELECT PermissionSetGroup.MasterLabel, PermissionSet.Label
       FROM PermissionSet.PermissionSetGroupComponents
       WHERE PermissionSetGroupId IN 
            (SELECT PermissionSetGroupId 
             FROM PermissionSetAssignment
             WHERE Assignee.Name = 'USERNAME'))
FROM PermissionSet
WHERE Type = 'Regular'

. . . which returns goodish output in Workbench (albeit with empty rows), but looks ugly in Salesforce Inspector Reloaded or Developer Console:

  • Reporting doesn’t cut it, either. I think the proper answer is gonna be Flow or Apex code. Reply to this post if you know a solution that 100% solves this need!

For Kerning Nerds Only

Do you see a difference between the two words below?

If not, I’m kind of jealous.

If so, then you might be a kerning nerd, and I’ve got two things to lighten your burden:

  1. Canva has an option for activating and deactivating kerning in slides.
    • Choose your text, click “Advanced Settings” (that’s the button with the letter T and a double-headed arrow on it), then click the button labelled “More Settings”:
  2. This XKCD cartoon feels your pain!

ps ooh, the example in the Wikipedia article’s mighty sharp. yikes

Settle Up! A Tool for Handling Shared Expenses

Q: I’ve got a group of people who need to settle up individual expenses to be shared equally. How can I easily determine who owes what?

A: Save a copy of the “Settle Up!” spreadsheet and give it a try.

  1. Give it the list of names of people in a group,
  2. the expenses they incurred, and
  3. BOOM! Bob’s your uncle, the spreadsheet will tell you who owes what to whom.

Navigate Directly to a “New Jira Ticket” URL

Q: “How can I go straight to a URL for a new Jira ticket?”

A: I go straight to a “Create issue” page, without having to click a “Create” button, by navigating to this URL:

https://[JiraDomain]/secure/CreateIssueDetails!init.jspa?pid=[ProjectID]&issuetype=[IssueTypeID]

. . . where

  • your [JiraDomain] is probably like xyzcompany.atlassian.net
  • [ProjectID] is a numeric code (in my case, 5 digits), and
  • [IssueTypeID] is another numeric code (another 5 digits in my case, YMMV).

Q: “Okay, how do I get ProjectID and IssueTypeID?

A: To determine the five-digit codes for my [ProjectID] and [IssueTypeID], I navigated to

https://[JiraDomain]/rest/api/latest/project/[ProjectKey]

. . . where your [JiraDomain] is probably like xyzcompany.atlassian.net and [ProjectKey] is the letter prefix for your project (my current one is SSJ).

I then sorted through its JSON output to find the bits that looked like this:

"id": "12345",
"key": "SSJ", 

and this:

"id": "98765",
"description": "Stories track...",
"iconUrl": "https://xyzcompany.atlassian.net/...?size=medium",
"name": "Story",

which would make for a URL like

https://xyzcompany.atlassian.net/secure/CreateIssueDetails!init.jspa?pid=12345&issuetype=98765

Use Date/Time Fields Instead of Date Fields Wherever Possible

Q: “What’s wrong with Date fields?”

A: Imprecision! If I set a Date field to January 1st, I’m assigning my coworkers unintended homework: start of day? end of day? and is that January 1st for me, or them?

Without a timestamp, a single date can span a 5-day (or 120-hour) stretch of time (!):

  • “Jan 1st” can go as far back as “Dec 30th”: 2025-01-01 at 00:00 in Kiribati corresponds to 2024-12-30 at 23:00 on Midway
  • “Jan 1st” can go as far forward as “Jan 3rd”: 2025-01-01 at 23:59 on Midway corresponds to 2025-01-03 at 00:59 in Kiribati

( . . . ok, I don’t know how many folks have coworkers in Midway or Kiribati. But I definitely have coworkers across the globe.)

I bet you good money the folks at Salesforce wish they’d implemented “Close Date” as “Close Date/Time” 😝

props to the Time Zone Map

Diving Deep into Profiles and Permissions

Q: Where can I find resources from the “Diving Deep into Profiles and Permissions” presentation at the 2025 Texas Dreamin’ user conference?

A: Here are resources from my May 30, 2025 Texas Dreamin’ presentation, “Diving Deep into Profiles and Permissions”:

First, I recommend the following (free!) Salesforce tools:

Use these to migrate your org from a Profile-led model to a Permission-Set-led model.

Salesforce MVP Louise Lockie created terrific resources explaining why and how to migrate.

In my presentation, I walked through the practical steps of migrating a clean Developer Edition org’s three Custom Profiles to Permission Sets:

  1. download your Profile XMLs
  2. create upload-ready zip files1 for the Salesforce Metadata API; and finally
  3. deploy those zip files

In the “Bonus Round!” section of the preso, I showed how Permission Sets’ field settings can be queried using SOQL, like this:

  SELECT Parent.Name, Field, 
         PermissionsEdit, 
         PermissionsRead 
    FROM FieldPermissions
ORDER BY Parent.Name, Field

and how a Permission Set can be created by adding rows to the PermissionSet and FieldPermissions tables.2

Rights to all code in this post are subject to The MIT License.3

  1. Expanding on step 2: I created ChatGPT scripts to

    create a “Common Permissions” Permission Set for privileges that all three Profiles have in common. (You’ll need to attach the Profiles’ XMLs to your request.)

    Create a Salesforce Metadata API-deployable zip file that contains a Permission Set named "Common Permissions".
    • The Permission Set should be pretty-formatted and have the Field Permissions, Object Permissions, and User Permissions that are common to all Profiles attached to this request. The Profiles' filenames contain special characters that might cause a file access issue. The XML parser should account for the fact that all entries are found within the namespace "http://soap.sforce.com/2006/04/metadata".
    • It should have a tag named "license" with the value "Salesforce".
    • It should have a tag named "label" with the value "Common Permissions".
    • It should exclude any tags that cannot be specified in a Permission Set.
    • The "Common Permissions" Permission Set should be in a folder named "permissionsets" inside the zip file.
    • The zip file should also include a package.xml file.


    create Permission Sets for privileges that are distinct to some (ie, one or more) of the Profiles, but not all. (You’ll need to attach the Profiles’ XMLs to your request.)

    Compare the attached Salesforce Profile XMLs.
    • Note that the filenames contain special characters that might cause a file access issue.
    • The XML parser should account for the fact that all entries are found within the namespace "http://soap.sforce.com/2006/04/metadata".

    For each Salesforce object, compare (1) the Object Permissions, and (2) the associated Field Permissions for that object, across all Profiles.

    For each Salesforce object where there are differences, create pretty-formatted Permission Sets that contain each permutation of Object Permissions and Field Permissions that differ. Each Permission Set should be named "[Object] Permissions [Create], [Delete], [Edit], [Read], [Modify All], [View All] V[X], E[Y]", where 1) "[Object]" is the name of the Salesforce object; 2) each of the values "[Create]", "[Delete]", "[Edit]", "[Read]", "[Modify All]", and "[View All]" is shown if that particular value is set to True for that particular Permission Set; and 3) "[X]" is the number of fields that are readable in that Permission Set, and "[Y]" is the number of fields that are editable in that Permission Set.

    Create a Salesforce Metadata API-deployable zip file that contains all the Permission Sets.
    • Each Permission Set in the zip file should be pretty-formatted and have the Field Permissions and Object Permissions for a single object.
    • Each Permission Set should have a tag named "license" with the value "Salesforce".
    • Each Permission Set should have a tag named "label" with the value equal to the Permission Set's name.
    • Each Permission Set file should have a Salesforce Metadata API-friendly version of the name (where characters have been replaced by escape values where needed).
    • The Permission Sets should be in a folder named "permissionsets" inside the zip file.
    • The zip file should also include a package.xml file.

    reassign Users to the Minimal Profile, and assign them to the correct Permission Sets. (You’ll need to edit the text to reflect the UI labels of your Profiles and Permission Sets. Once updated, this script should be run from Developer Console’s Execute Anonymous window.)

    write Apex code that can run from Salesforce's Execute Anonymous window.

    it should
    1) assign all active users to the Profile named "Minimum Access - Salesforce",
    2) assign them to the Permission Set "Common Permissions", and
    3) also assign them to the appropriate Permission Sets created above (their labels are "Case Permissions Create, Delete, Edit, Read V20, E13", "Case Permissions Create, Edit, Read V19, E12", "Lead Permissions Create, Delete, Edit, Read V18, E15", "Lead Permissions Create, Delete, Edit, Read V20, E17", "Lead Permissions Create, Delete, Edit, Read V22, E19", "Opportunity Permissions Create, Delete, Edit, Read V13, E13", "Opportunity Permissions Create, Delete, Edit, Read V16, E16", "Solution Permissions Create, Delete, Edit, Read V3, E3", and "Solution Permissions Create, Read V3, E3") that replicate the Permissions they had when they were assigned to the Profiles "Custom: Marketing Profile", "Custom: Sales Profile", or "Custom: Support Profile".
    ↩︎
  2. Here’s the ChatGPT prompt which generates the Apex code to create the “Opportunity – Read/Write All Fields” Permission Set. (Before you run the Apex code, you need to create a Remote Site Setting in Salesforce for your base URL, something like https://[name]-dev-ed.develop.my.salesforce.com for a Developer Edition, or https://[name].my.salesforce.com/ for a Production org.)
    write Apex code that I can run from the "Execute Anonymous" window in Salesforce's Developer Console that queries the EntityParticle table via Tooling API v63.0 to determine all Opportunity fields whose "IsPermissionable" attribute is True. Use getOrgDomainUrl() instead of getSalesforceBaseUrl() to get my org's base URL. I've already created a Remote Site Setting that references the base URL of my Salesforce org.

    create a Permission Set named "Opportunity - Read/Write All Fields" (by inserting a new record in the PermissionSet table) that grants
    1) Read and Edit access to Opportunity (by inserting a record in the ObjectPermissions table),
    2) read/write access to the subset of those "IsPermissionable = True" fields where the "IsUpdatable" attribute is True (by inserting records in the FieldPermissions table), and
    3) read access to the subset of the "IsPermissionable = True" fields where only the "IsUpdatable" attribute is False (by inserting records in the FieldPermissions table).
    ↩︎
  3. Copyright © 2025 Ezra Kenigsberg

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ↩︎

Divorce Google! Part 3

Q: “How can I get information about me off the internet?”

A: Leverage Google’s Results About You tool.

Alas, ya gotta sign in to Google to use it. But WSJ’s Nicole Nguyen recommends it as a good way to request data removal.

  1. Go to myactivity.google.com,
  2. click the “Other activity” link in the leftnav, and then
  3. click the “Manage results about you” link and follow the prompts.

All chapters of “Divorce Google”:

All the Release Notes in One Place

Q: “When did Salesforce release [Feature X]?”

A: Gosh, if only the Release Notes were all collected in one place.

or, if you’d like them individually:

Summer ’06
Winter ’07Spring ’07Summer ’07
Winter ’08Spring ’08Summer ’08
Winter ’09Spring ’09Summer ’09
Winter ’10Spring ’10Summer ’10
Winter ’11Spring ’11Summer ’11
Winter ’12Spring ’12Summer ’12
Winter ’13Spring ’13Summer ’13
Winter ’14Spring ’14Summer ’14
Winter ’15Spring ’15Summer ’15
Winter ’16Spring ’16Summer ’16
Winter ’17Spring ’17Summer ’17
Winter ’18Spring ’18Summer ’18
Winter ’19Spring ’19Summer ’19
Winter ’20Spring ’20Summer ’20
Winter ’21Spring ’21Summer ’21
Winter ’22Spring ’22Summer ’22
Winter ’23Spring ’23Summer ’23
Winter ’24Spring ’24Summer ’24
Winter ’25Spring ’25

. . . now to run these suckers through ChatGPT and create something nerdily interesting!

I’m thinking

  • a timeline of major features (eg, Permission Sets went GA in Winter ’12) or
  • analyzing features by area
  • studying trends in word choice