4

Probably you know System Administrator profile, if you try to migrate change to object or field or page or application or class permissions for the profile and you try to retrieve it, you will get an error.

Entity of type 'Profile' named 'System Administrator' cannot be found

However, if you retrieve all profiles, you might find 'Admin.profile' which looks like matching to System Administrator profile.

On Profile Standard object there is no field exposed containing 'Admin'.

There is another profile called 'StandardAul.profile' amongst the ANT metadata files. I try hard to guess which profile it matches. Does it match to Standard Platform profile?

Is there any general way to match Salesforce profile name (visible on Web Interface, in Developer Console) and if you query for it by SOQL query:

[select Id, Name,  Description from Profile]

to ANT Metadata File name? Retrieving package.xml containing:

<types>
    <members>*</members>
    <name>Profile</name>
</types>

5 Answers 5

6

I think I have finally found the solution.

While one of the possible point-and-click way is suggested by @user3375426 to create an outbound changeset and click add Profiles there (I have added here two screenshots, one for Professional Edition standard profiles mappings and another one for Enterprise Edition standard profile mappings), Profile name and API names for Professional Edition Profile name and API names for Enterprise Edition

another programmatic way is to query Fullname field on Profile using Tooling API.

In Tooling API, name field corresponds to the displayed name of Profile and Fullname field corresponds to Developer API Name of Profile. It is not possible to query by Fullname and query to retrieve Fullname are limited by 1 row, so it is not possible to get Developer API Name of every profile at once, however, it is possible to query one by one and retrieve their API name in such way.

For example, to find 'System Administrator` profile, the following query can be used

select id, name, fullName from Profile where name like '%admin%' limit 1

enter image description here

Also, we can verify that StandardAul is the Standard Platform User profile by making query

select id, name, fullName from Profile where name='Standard Platform User'

enter image description here

So the query results confirm that StandardAul is the Standard Platform User profile.

Just to summarize, the mappings for Standard Profiles in Professional Edition

Name                 API Name
Contract Manager     ContractManager
Marketing User       MarketingProfile
Solution Manager     SolutionManager
Read Only            ReadOnly
Standard User        Standard
System Administrator Admin

and the mappings for Standard Profiles in Enterprise Edition

Name                               API Name
Contract Manager                   ContractManager
Marketing User                     MarketingProfile
Solution Manager                   SolutionManager
Read Only                          ReadOnly
Standard User                      Standard
System Administrator               Admin
External Identity User             External Identity User
Guest License User                 Guest License User
High Volume Customer Portal User   High Volume Customer Portal User
Customer Community User            Customer Community User
Customer Community Plus User       Customer Community Plus User
Partner Community User             Partner Community User
Partner Community Login User       Partner Community Login User
Work.com Only User                 Work.com Only User
Chatter Only User                  Chatter Only User
Analytics Cloud Security User      Analytics Cloud Security User
Analytics Cloud Integration User   Analytics Cloud Integration User
Customer Community Login User      Customer Community Login User
Company Communities User           Company Communities User
Customer Community Plus Login User Customer Community Plus Login User
Standard Platform User             StandardAul
0
1

To find out the API Name of the profile you can do the below steps:

Goto Setup --> Deploy --> Outbound Change Sets --> New --> Name it as Profiles --> Click save --> Under Profile Settings For Included Components --> Click Add Profiles button --> There you can get the list of all profiles with API Name.

You need to include the API name is ANT.

Thanks

1
  • Thanks, this works and helped me to find the ultimate answer to even use code for this
    – Patlatus
    Commented Mar 25, 2019 at 13:48
0

In the xml file, there's a "label" attribute that tells you the corresponding UI name for the profile. The listMetadata utility call included in the Ant Migration Toolkit can provide a handy list of profiles, and it lists the labels and file names of all profiles in your org. See the sample build file that comes with the toolkit for the correct build syntax.

3
  • I don't see 'label' attribute when I try to retrieve profiles by 'retrieve' call. Does it come only if one makes "listMetadata' call?
    – Patlatus
    Commented Mar 8, 2016 at 15:54
  • I tried to use 'listMetadata' call but no luck: FileName: profiles/StandardAul.profile FullName/Id: StandardAul/00eE0000000z6DMIAY Manageable State: null Namespace Prefix: null Created By (Name/Id): name/id Last Modified By (Name/Id): name/id
    – Patlatus
    Commented Mar 10, 2016 at 15:06
  • I know I've parsed this out before somehow. I'll check my old archives and see if I still have a copy somewhere.
    – sfdcfox
    Commented Mar 10, 2016 at 15:08
0

StandardAul is Standard Platform license.

AFAIK, there is no label that matches the profile API name to Profile label - at least for the Standard profiles.

Good luck.

Sridhar

1
  • This answer just confirm that StandardAul is Standard Platform User profile but doesn't explain how to confirm this or how to find this
    – Patlatus
    Commented Mar 25, 2019 at 13:49
0

Indeed I had the same issue retrieving system administrator xml file via ANT.

You should mention "Admin" as profile name. your package.xml must be as followed :

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
  <types>
    <members>Location_Contact__c</members>
    <name>CustomObject</name>
  </types>
  <types>
    <members>Location_Contact__c-FSM Location Contact Layout</members>
    <name>Layout</name>
  </types>
  <types>
    <members>Admin</members>
    <name>Profile</name>
  </types>
  <version>39.0</version>
</Package>
1
  • This doesn't solve my problem
    – Patlatus
    Commented Mar 25, 2019 at 12:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .