Metadata API Custom Field Permissions (how to automate this process)

If you have an existing PermissionSet you can use an associated FieldPermissions to grant Read permissions. This can be done via the Partner API.

Set the:

  • Field to 'Account.CustomField__c' (where CustomField__c is the API name of your field)
  • ParentId to the ID of the existing PermissionSet,
  • SobjectType to 'Account'
  • PermissionsRead to true

You can use the Profile object in the metadata API to deploy object and field level permissions for the new object/fields. Read the documentation for more details.