Platform Permission Set Generate

作者 forcedotcom3c15867bdb9d無授權條款1K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫昨天更新

Generates correct, deployable Salesforce permission set metadata (PermissionSet XML) with object, field, user, and app permissions. Use this skill when creating or editing permission set metadata, object permissions, field-level security (FLS), tab visibility, or deploying permission sets.

AI 產生的概覽

產生 Salesforce 權限集中介資料 XML,涵蓋物件、欄位、使用者、應用程式與代理程式權限。

功能
此技能逐步引導建立可部署的 Salesforce PermissionSet 中介資料 XML。內容涵蓋核心屬性、物件 CRUD 權限、欄位層級安全性、使用者權限、應用程式與索引標籤可見性、Apex 與 Visualforce 存取、授權與記錄類型設定,以及 Agentforce 代理程式存取。它也提供驗證清單並列出常見的部署失敗原因,最後說明透過 Salesforce CLI 進行部署。
適用情境
適用於建立或編輯權限集中介資料,或在 Salesforce 中授予物件、欄位、使用者與應用程式權限時。也適用於設定欄位層級安全性、索引標籤可見性,或準備部署權限集。
執行需求
不包含指令碼,僅為說明性內容。產生與部署中介資料需要 Salesforce 環境與 Salesforce CLI,代理程式存取項目必須與現有的 Agentforce Employee Agent 開發人員名稱相符。

When to Use This Skill

Use when generating or editing permission set metadata, or when granting object, field, user, and app permissions.

Step 1: Define Core Properties

Start by defining the required permission set properties:

xml
<PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">    <fullName>YourPermissionSetName</fullName>    <label>Display Name for Administrators</label>    <description>Clear description of purpose and intended audience</description></PermissionSet>

Naming conventions:

  • Use descriptive API names (e.g., Sales_Manager_Access)

Step 2: Configure Object Permissions

Add CRUD permissions for standard and custom objects:

xml
<objectPermissions>    <allowCreate>true</allowCreate>    <allowRead>true</allowRead>    <allowEdit>true</allowEdit>    <allowDelete>false</allowDelete>    <modifyAllRecords>false</modifyAllRecords>    <viewAllRecords>false</viewAllRecords>    <viewAllFields>false</viewAllFields>    <object>Account</object></objectPermissions>

Step 3: Set Field-Level Security

Define field permissions for sensitive or custom fields:

xml
<fieldPermissions>    <editable>true</editable>    <readable>true</readable>    <field>Account.SSN__c</field></fieldPermissions>

Important:

  • Required fields must NEVER appear in list of field permissions. Granting field-level security on required fields is not allowed by the platform and will cause deployment failure.
  • Before adding any field, confirm from the object metadata that the field exists and is not required
  • A field is required when its metadata contains <required>true</required>:
  • Formula fields cannot be editable
  • Master-detail fields are required fields on the child (detail) object
xml
<fields>    <fullName>FieldName__c</fullName>    <required>true</required></fields>
  • Use format ObjectName.FieldName for field references
  • Set both readable and editable to true when the user needs edit access; editable implies readable
  • If all fields should be visible, can alternatively enable the "viewAllFields" object permission

Step 4: Grant User Permissions

Add system-level permissions for features and capabilities:

xml
<userPermissions>    <enabled>true</enabled>    <name>ApiEnabled</name></userPermissions><userPermissions>    <enabled>true</enabled>    <name>RunReports</name></userPermissions>

Common permissions:

  • ApiEnabled: API access
  • ViewSetup: View Setup menu
  • ManageUsers: User management
  • RunReports: Report execution

Security review required for:

  • ViewAllData: Read all records
  • ModifyAllData: Edit all records
  • ManageUsers: User administration

Step 5: Configure App and Tab Visibility

Make applications and tabs visible to users:

xml
<applicationVisibilities>    <application>Sales_Console</application>    <visible>true</visible></applicationVisibilities><tabSettings>    <tab>CustomTab__c</tab>    <visibility>Visible</visibility></tabSettings>

Application visibility options:

  • <visible> can be true or false

Tab visibility options:

  • Visible: The tab is available on the All Tabs page and appears in the visible tabs for its associated app. Can be customized.
  • Available: The tab is available on the All Tabs page. Individual users can customize their display to make the tab visible in any app
  • None: Not visible

CRITICAL - Tab Naming:

  • Custom object tabs: MUST include the __c suffix (e.g., MyCustomObject__c)
  • Standard object tabs: Use the object name with "standard-" prefix (e.g., standard-Account, standard-Contact)
  • The tab name matches the object's API name exactly

Step 6: Add Apex and Visualforce Access (Optional)

Grant access to custom code:

xml
<classAccesses>    <apexClass>CustomController</apexClass>    <enabled>true</enabled></classAccesses><pageAccesses>    <apexPage>CustomPage</apexPage>    <enabled>true</enabled></pageAccesses>

Step 7: Set License and Record Type Settings (Optional)

Specify license requirements and record type visibility:

xml
<license>Salesforce</license><hasActivationRequired>false</hasActivationRequired><recordTypeVisibilities>    <recordType>Account.Business</recordType>    <visible>true</visible>    <default>true</default></recordTypeVisibilities>

Step 8: Set Agent Access (Optional)

Enable access to Agentforce Employee Agents for users assigned to this permission set:

<agentAccesses>

<agentName>Sales_Assistant_Agent</agentName><enabled>true</enabled>

</agentAccesses>

Field requirements:

  • agentName (Required): The developer name of the employee agent
  • enabled (Required): Set to true to grant access, false to deny

Important:

  • Agent names must match existing Agentforce Employee Agent developer names

Validation Checklist

Before deploying, verify:

  • fullName, label, description set
  • Permissions follow least privilege
  • No required fields in <fieldPermissions>
  • No duplicate permissions
  • No lengthy comments

What Causes Deployment Failure

  • Field permissions on required fields: Any required field in <fieldPermissions> fails deployment. Required fields cannot have FLS; omit them entirely. Always confirm from object/field metadata that a field exists and is not required—never assume.
  • Incorrect API names: Using the wrong name or missing suffixes (e.g. missing __c for custom objects, fields, tabs) cause failure.

Deployment

Deploy using Salesforce CLI

來源與署名

來源:forcedotcom/sf-skills位於plugins/builder/salesforce-development/skills/platform-permission-set-generate提交3c15867

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架