I am looking for some official Salesforce documentation on a list of all available types in the metadata API. If I am using a package.xml file that looks like:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>ClassName</members>
<name>ApexClass</name>
</types>
<types>
<members>TriggerName</members>
<name>ApexTrigger</name>
</types>
<types>
<members>Custom_Object__c.Custom_Field__c</members>
<name>CustomField</name>
</types>
<types>
<members>Custom_Object__c-Custom Object Layout</members>
<name>Layout</name>
</types>
<types>
<members>Custom_Object__c.Custom_Validation</members>
<name>ValidationRule</name>
</types>
<types>
<members>Custom_Object__c.Custom_Field_Update</members>
<name>WorkflowFieldUpdate</name>
</types>
<types>
<members>Custom_Object__c.Custom Workflow Rule</members>
<name>WorkflowRule</name>
</types>
<version>27.0</version>
</Package>
So, we have a bunch of different types here and they are all referenced differently. A Workflow uses Object_API_Name__c.Name of workflow rule
while a ValidationRule uses uses Object_API_Name__c.Name_of_Field
with no __c and a Layout uses Object_API_Name__c-Hyphen Layout
. It all seems really random to me and I have been having a difficult time trying to guess how I am supposed to reference each of these. There are other things like accessing custom profiles just by their name but a standard profile like the System Administrator is actually just called Admin. I just don't know how to access all of this.
So, I am looking for anyone who knows of any documentation available to detail two different things:
- The types available (i.e.
ApexClass
,ApexTrigger
,Layout
,WorkflowFieldUpdate
, etc) - The proper way of pulling those through the members tag (Do I use object name with a hyphen, dot annotation, just the custom field, etc?)
Best Answer
Good question, both these things are not as clear as they should be in the docs. Here are some points that can help you.
Discovering all Metadata Types.
Discovering Identifiers for Metadata Types
Hope this helps!