Monday, October 12, 2020

Mapping between Salesforce Permission Name and the Label

I recently ran into a minor challenge when deploying a Profile's metadata to an org when it came back with the error message:

"You may not modify the permission Run Macros on Multiple Records while editing a Standard Profile"

The profiles metadata doesn't contain the string "Run Macros on Multiple Records", so how do I know which userPermissions element I need to modify? I was able to narrow it down from the source diff on the file to BulkMacrosAllowed.

So my primary problem was solved, but it did leave me wondering why I couldn't find a more complete mapping of permission API names and the corresponding UI labels.

A small amount of research revealed the required information was in the PermissionSet field metadata. So then I just needed to iterate that metadata and put it into a more useful format (I.e. something I can Google).

The following was hastily extracted from a Summer '20 Dev org and merged with a Scratch Org from the same vintage using the v49.0 API. Your results may vary.

Updated for Winter '21 (v50.0). Just to be confusing it appears Salesforce has changed a couple of the UI Labels. So I've started keeping a versioned history of the changes to this page.

API NameUI Label
AccessCMCAccess Community Management
AccessContentBuilderAccess drag-and-drop content builder
AccountSwitcherUserAccount Switcher User
ActivateContractActivate Contracts
ActivateOrderActivate Orders
ActivitiesAccessAccess Activities
AddAnalyticsRemoteConnectionsAdd Analytics Remote Connections
AddDirectMessageMembersAdd People to Direct Messages
AddWaveNotificationRecipientsNotification Emails: Add Recipients
AllowEmailICEmail-Based Identity Verification Option
AllowLightningLoginLightning Login User
AllowUniversalSearchKnowledge One
AllowViewEditConvertedLeadsView and Edit Converted Leads
AllowViewKnowledgeAllow View Knowledge
ApexRestServicesApex REST Services
ApiEnabledAPI Enabled
AssignPermissionSetsAssign Permission Sets
AssignTopicsAssign Topics
AuthorApexAuthor Apex
B2BMarketingAnalyticsUserCreate B2B Marketing Analytics Apps
BotManageBotsManage Bots
BotManageBotsTrainingDataManage Bots Training Data
BulkApiHardDeleteBulk API Hard Delete
BulkMacrosAllowedRun Macros on Multiple Records
CampaignInfluence2Campaign Influence
CanApproveFeedPostCan Approve Feed Post and Comment
CanEditDataPrepRecipeEdit Dataset Recipes
CanEditPromptsManage Prompts
CanInsertFeedSystemFieldsInsert System Field Values for Chatter Feeds
CanManageMapsManage Analytics Custom Maps
CanUseNewDashboardBuilderDrag-and-Drop Dashboard Builder
CanVerifyCommentVerify Answers to Chatter Questions
ChangeDashboardColorsChange Dashboard Colors
ChatterComposeUiCodesnippetAllow Inclusion of Code Snippets from UI
ChatterEditOwnPostEdit My Own Posts
ChatterEditOwnRecordPostEdit Posts on Records I Own
ChatterFileLinkCreate Public Links
ChatterInternalUserChatter Internal User
ChatterInviteExternalUsersInvite Customers To Chatter
ChatterOwnGroupsCreate and Own New Chatter Groups
CloseConversationsClose Conversation Threads
ConfigCustomRecsConfigure Custom Recommendations
ConnectOrgToEnvironmentHubConnect Organization to Environment Hub
ConsentApiUpdateUpdate Consent Preferences Using REST API
ContentAdministratorManage Salesforce CRM Content
ContentHubOnPremiseUserFiles Connect On-premises
ContentHubUserFiles Connect Cloud
ContentWorkspacesAccess Libraries
ConvertLeadsConvert Leads
CreateCustomizeDashboardsCreate and Customize Dashboards
CreateCustomizeFiltersCreate and Customize List Views
CreateCustomizeReportsCreate and Customize Reports
CreateDashboardFoldersCreate Dashboard Folders
CreateLtngTempFolderCreate Folders for Lightning Email Templates
CreateLtngTempInPubManage Public Lightning Email Templates
CreatePackagingCreate AppExchange Packages
CreateReportFoldersCreate Report Folders
CreateReportInLightningReport Builder (Lightning Experience)
CreateTopicsCreate Topics
CreateWorkBadgeDefinitionCreate custom Badge Definitions
CreateWorkspacesCreate Libraries
CustomizeApplicationCustomize Application
CustomMobileAppsAccessAccess Custom Mobile Apps
CustomSidebarOnAllPagesShow Custom Sidebar On All Pages
CustomTabBarOnMobileNew Salesforce Mobile App - Customizable Navigation (Winter '20 Pilot Only)
DataExportWeekly Data Export
DelegatedTwoFactorManage Multi-Factor Authentication in User Interface
DeleteActivatedContractDelete Activated Contracts
DeleteTopicsDelete Topics
DistributeFromPersWkspCreate Content Deliveries
EditActivatedOrdersEdit Activated Orders
EditBrandTemplatesManage Letterheads
EditCaseCommentsEdit Case Comments
EditEventEdit Events
EditHtmlTemplatesEdit HTML Templates
EditKnowledgeManage Articles
EditMyDashboardsEdit My Dashboards
EditMyReportsEdit My Reports
EditOppLineItemUnitPriceEdit Opportunity Product Sales Price
EditPublicDocumentsManage Public Documents
EditPublicFiltersManage Public List Views
EditPublicReportsManage Public Reports
EditPublicTemplatesManage Public Classic Email Templates
EditReadonlyFieldsEdit Read Only Fields
EditReportsCreate and Customize Reports
EditTaskEdit Tasks
EditTopicsEdit Topics
EmailAdministrationEmail Administration
EmailMassMass Email
EmailSingleSend Email
EmailTemplateManagementManage Email Templates
EnableCommunityAppLauncherShow App Launcher in Communities
EnableNotificationsSend Outbound Messages
ExportReportExport Reports
FeedPinningPin Posts in Feeds
FieldServiceAccessField Service Standard
FieldServiceDispatcherField Service Dispatcher
FieldServiceLastMileField Service Last Mile
FieldServiceMobileAppField Service Mobile
FieldServiceSchedulingField Service Scheduling
FlowUFLRequiredRequire Flow User Feature License
ForceTwoFactorMulti-Factor Authentication for User Interface Logins
FSCComprehensiveUserAccessUser license to access Lightning components and features delivered in Financial Services Cloud.
GiveRecognitionBadgeGive Recognition Badges in Lightning Communities
GovernNetworksManage Communities
HasUnlimitedNBAExecutionsUser Has Unlimited Next Best Action Strategy Executions
HeadlessCMSAccessEnable Salesforce CMS Integration
HideReadByListHide the Seen By List
IdentityConnectUse Identity Connect
IdentityEnabledUse Identity Features
ImportCustomObjectsImport Custom Objects
ImportLeadsImport Leads
ImportPersonalImport Personal Contacts
InsightsAppAdminManage Analytics
InsightsAppDashboardEditorCreate and Edit Analytics Dashboards
InsightsAppEltEditorEdit Analytics Dataflows
InsightsAppUploadUserUpload External Data to Analytics
InsightsAppUserUse Analytics
InsightsCreateApplicationCreate Analytics Apps
InstallPackagingDownload AppExchange Packages
IotUserIoT User
IsotopeAccessSalesforce Anywhere on Mobile
IsotopeCToCUserSalesforce Anywhere Integration Access
IsotopeLEXSalesforce Anywhere in Lightning Experience
LightningConsoleAllowedForUserLightning Console User
LightningExperienceUserLightning Experience User
ListEmailSendAllow sending of List Emails
LMEndMessagingSessionUserPermEnd Messaging Session
LMOutboundMessagingUserPermAgent Initiated Outbound Messaging
LtngPromoReserved01UserPermRemain in Salesforce Classic
ManageAnalyticSnapshotsManage Reporting Snapshots
ManageAuthProvidersManage Auth. Providers
ManageBusinessHourHolidaysManage Business Hours Holidays
ManageC360AConnectionsConnect Org to Customer 360 Audiences
ManageCallCentersManage Call Centers
ManageCasesManage Cases
ManageCategoriesManage Categories
ManageCertificatesManage Certificates
ManageChatterMessagesManage Chatter Messages and Direct Messages
ManageClearbitIntegrationManage your Clearbit Integration
ManageCMSCreate CMS Workspaces and Channels
ManageContentManage Content Permissions
ManageContentPropertiesManage Content Properties
ManageContentTypesManage record types and layouts for Files
ManageCssUsersManage Customer Users
ManageCustomManage Custom Permissions
ManageCustomReportTypesManage Custom Report Types
ManageDashbdsInPubFoldersManage Dashboards in Public Folders
ManageDashboardsManage Dashboards
ManageDataCategoriesManage Data Categories
ManageDataIntegrationsManage Data Integrations
ManageDynamicDashboardsManage Dynamic Dashboards
ManageEmailClientConfigManage Email Client Configurations
ManageEncryptionKeysManage Encryption Keys
ManageExchangeConfigManage Lightning Sync
ManageExternalConnectionsAllow user to modify Private Connections
ManageHealthCheckManage Health Check
ManageHubConnectionsConnect Org to Customer 360 Data Manager
ManageInteractionManage Flow
ManageInternalUsersManage Internal Users
ManageIpAddressesManage IP Addresses
ManageKnowledgeManage Salesforce Knowledge
ManageKnowledgeImportExportManage Knowledge Article Import/Export
ManageLeadsManage Leads
ManageLoginAccessPoliciesManage Login Access Policies
ManageMobileManage Mobile Configurations
ManageNetworksCreate and Set Up Communities
ManagePasswordPoliciesManage Password Policies
ManageProfilesetsManage Profiles and Permission Sets
ManagePropositionsManage Next Best Action Recommendations
ManagePvtRptsAndDashbdsManage All Private Reports and Dashboards
ManageRecommendationStrategiesManage Next Best Action Strategies
ManageReleaseUpdatesManage Release Updates
ManageRemoteAccessManage Connected Apps
ManageReportsInPubFoldersManage Reports in Public Folders
ManageRolesManage Roles
ManageSearchPromotionRulesManage Promoted Search Terms
ManageSecurityCommandCenterManage Security Center
ManageSelfServiceManage Self-Service Portal
ManageSessionPermissionSetsManage Session Permission Set Activations
ManageSharingManage Sharing
ManageSolutionsManage Published Solutions
ManageSubscriptionsManage Analytics Subscriptions
ManageSurveysManage Surveys
ManageSynonymsManage Synonyms
ManageTemplatedAppManage Analytics Templated Apps
ManageTwoFactorManage Multi-Factor Authentication in API
ManageUnlistedGroupsManage Unlisted Groups
ManageUsersManage Users
ManageZapierIntegrationManage your Zapier Integration
MassInlineEditMass Edits from Lists
MergeTopicsMerge Topics
ModerateChatterModerate Chatter
ModerateNetworkUsersModerate Community Users
ModifyAllDataModify All Data
ModifyDataClassificationModify Data Classification
ModifyMetadataModify Metadata Through Metadata API Functions
ModifySecureAgentsModify Secure Agents
NativeWebviewScrollingSalesforce Mobile App: Native scrolling on webviews
NewReportBuilderReport Builder
OptOutGeoLocationTrackingExclude Technician from Geolocation Tracking
Packaging2Create and Update Second-Generation Packages
Packaging2DeleteDelete Second-Generation Packages
PasswordNeverExpiresPassword Never Expires
PreventClassicExperienceHide Option to Switch to Salesforce Classic
PrivacyDataAccessAllow user to access privacy data
PublishPackagingUpload AppExchange Packages
QueryAllFilesQuery All Files
QuipMetricsAccessQuip Metrics
QuipUserEngagementMetricsQuip User Engagement Metrics
RecordVisibilityAPIEnable RecordVisibility API
RemoveDirectMessageMembersRemove People from Direct Messages
ResetPasswordsReset User Passwords and Unlock Users
RunFlowRun Flows
RunReportsRun Reports
SalesConsoleSales Console
SandboxTestingInCommunityAppEnables testing a sandbox community in the Mobile Publisher for Community Cloud app.
ScheduleReportsSchedule Reports
SelectFilesFromSalesforceSelect Files from Salesforce
SendAnnouncementEmailsSend announcement emails
SendCustomNotificationsSend Custom Notifications
SendExternalEmailAvailableSend Email through External Email Service
SendSitRequestsSend Stay-in-Touch Requests
ShareInternalArticlesShare internal Knowledge articles externally
ShowCompanyNameAsUserBadgeShow Company Name as Community Role
SkipIdentityConfirmationSkip Identity Confirmation at Login
SolutionImportImport Solutions
SubmitMacrosAllowedManage Macros Users Can't Undo
SubscribeDashboardRolesGrpsSubscribe to Dashboards: Send to Groups and Roles
SubscribeDashboardToOtherUsersSubscribe to Dashboards: Add Recipients
SubscribeReportRolesGrpsSubscribe to Reports: Send to Groups and Roles
SubscribeReportsRunAsUserSubscribe to Reports: Set Running User
SubscribeReportToOtherUsersSubscribe to Reports: Add Recipients
SubscribeToLightningDashboardsSubscribe to Dashboards
SubscribeToLightningReportsSubscribe to Reports
TraceXdsQueriesAccess Tracer for External Data Sources
TransactionalEmailSendSend Non-Commercial Email
TransferAnyCaseTransfer Cases
TransferAnyEntityTransfer Record
TransferAnyLeadTransfer Leads
TwoFactorApiMulti-Factor Authentication for API Logins
UseSubscriptionEmailsUse Subscription Emails
UseTeamReassignWizardsUse Team Reassignment Wizards
UseTemplatedAppUse Analytics Templated Apps
UseWebLinkAllow Access to Customized Actions
ViewAllActivitiesView All Activities
ViewAllCustomSettingsView All Custom Settings
ViewAllDataView All Data
ViewAllForeignKeyNamesView All Lookup Record Names
ViewAllProfilesView All Profiles
ViewAllUsersView All Users
ViewAnomalyEventsView Threat Detection Events
ViewContentView Content in Portals
ViewDataAssessmentAccess to view Data Assessment
ViewDataCategoriesView Data Categories in Setup
ViewDataLeakageEventsView Real-Time Event Monitoring Data
ViewEncryptedDataView Encrypted Data
ViewEventLogFilesView Event Log Files
ViewFlowUsageAndFlowEventDataView Flow Usage and Flow Event Data
ViewHealthCheckView Health Check
ViewHelpLinkView Help Link
ViewMyTeamsDashboardsView My Team's Dashboards
ViewOnlyEmbeddedAppUserAccess to View-Only Licensed Templates and Apps
ViewPlatformEventsView Login Forensics Events
ViewPrivateStaticResourcesView Private Static Resources
ViewPublicDashboardsView Dashboards in Public Folders
ViewPublicReportsView Reports in Public Folders
ViewRolesView Roles and Role Hierarchy
ViewSecurityCommandCenterView Security Center pages
ViewSetupView Setup and Configuration
ViewUserPIIView User Records with PII
WaveManagePrivateAssetsUserManage Analytics Private Assets
WaveTabularDownloadDownload Analytics Data
WorkCalibrationUserEnable WDC Calibration
WorkDotComUserPermEnable WDC


  1. Thanks a lot for this.

    How did you extract this from PermissionSet field metadata? is the SOQL something like this ?

    select id, DataType,NamespacePrefix, label,DeveloperName
    from FieldDefinition
    where EntityDefinition.QualifiedApiName = 'PermissionSet'

    1. I used the describe metadata from PermissionSet. Details are here I'm not sure if SOQL against FieldDefinition can see the complete set of PermissionSet fields using an EntityDefinition based where clause. And I'm not sure how you would find the DurableId. E.g. "where DurableId = 'PermissionSet.AccessCMC'" doesn't return any results.

  2. Thank you very much! This is extremely helpful!

  3. this is the best article for someone who loves profiles and permsets! ;-)