PRIDE MONTH ALERT : FLAT 20% OFF On Our Best-Selling Courses Use -  PRIDE20

- Salesforce Blogs -

A Complete Guide for Salesforce Metadata API


Many Salesforce developers and system administrators use Salesforce Metadata API to manage the modification and release process for complex organizations. This blog covers guide about Salesforce Metadata API, Salesforce metadata types, Salesforce metadata backup Salesforce metadata report, and export salesforce metadata to excel.

Understanding Metadata API

Salesforce Metadata API is used to assist developers in retrieving, creating, deploying, updating, or deleting the customized information. This can be such a thing that is done using custom object definitions and page layouts for the organizations. The Salesforce Metadata is meant to be used for management to make customizations and build tools to assist management at the mode of metadata.

The easiest and simplest way to access the functionality in Metadata API is to use the IDE of or Ant Migration Tool. To simplify the work with Metadata API, both tools are built on top of Metadata API and use Ant tools and Standard Eclipse respectively.

Metadata API enables you to access some entities and feature settings that you can customize in the user interface and manage the setup. Such as-

  • Migrate configuration changes between organizations
  • Export the customization in your organization as XML metadata files
  • Manage customizations in the organization programmatically
  • Modify existing customizations in the organization using XML metadata files

You can make changes in the metadata in test organizations on Developer Edition or sandbox, and then employ tested changes to production organizations on Enterprise, Unlimited, or Performance Editions. You can also create code snippets or scripts to populate a new organization with your custom objects, custom fields, and other components.

Employing Managed and Unmanaged Packages

Both managed and unmanaged packages can be employed with the Metadata API. The only difference comes in the process of working with unmanaged data. When you call for unmanaged packages, use of an asterisk (*) is prohibited in the package.xml file.

Thumb Rule: Asterisks work great for retrieving assets, but it’s better to not use them for deployments

Employing a managed package is also possible with metadata API, but the method is different. A metadata type named Installed Packages is used to do this. These are named after the namespaces of the currently installed packages. If you employ any one of them or even only one, then the managed package will be installed in the target organization. You will receive an email, just like somebody clicked “Get It Now” on the AppExchange. This is the only metadata type that sends out emails; and the only asset that must be deployed alone.

Read: What is CRM? Salesforce CRM Tutorial Guide For Beginners

With Great Power: The Metadata API solves very difficult problems.

Learn about the Salesforce Metadata API in detail by joining our Salesforce online training classes right away!

Salesforce Training For Administrators & Developers

  • Personalized Free Consultation
  • Access to Our Learning Management System
  • Access to Our Course Curriculum
  • Be a Part of Our Free Demo Class

Valid Salesforce Metadata Types

Here is a detailed list of Salesforce Metadata types that can be used to prepare Salesforce metadata reports, salesforce metadata backup, and export salesforce metadata to excel.

  • Account Settings
  • AccountRelationshipShareRule
  • ActionLinkGroupTemplate
  • AnalyticSnapshot
  • ArticleType
  • ApexClass
  • ApexComponent
  • ApexPage
  • ApexTestSuite
  • ApexTrigger
  • AppMenu
  • ApprovalProcess
  • AssignmentRules
  • Audience
  • AuraDefinitionBundle
  • AuthProvider
  • AutoResponseRules
  • Bot
  • BotVersion
  • BrandingSet
  • CallCenter
  • CampaignInfluenceModel
  • CaseSubjectParticle
  • Certificate
  • ChatterExtension
  • CleanDataService
  • CMSConnectSource
  • Community (Zone)
  • CommunityTemplateDefinition
  • CommunityThemeDefinition
  • ConnectedApp
  • content assets
  • CorsWhitelistOrigin
  • CspTrustedSite
  • CustomApplication
  • CustomApplicationComponent
  • CustomFeedFilter
  • CustomHelpMenuSection
  • CustomLabels
  • Custom Metadata Types (CustomObject)
  • CustomObject
  • CustomObjectTranslation
  • CustomPageWebLink
  • CustomPermission
  • custom site
  • CustomTab
  • CustomValue
  • Dashboard
  • DataCategoryGroup
  • DelegateGroup
  • Document
  • DuplicateRule
  • EclairGeoData
  • EmailServicesFunction
  • EmailTemplate
  • EmbeddedServiceBranding
  • EmbeddedServiceConfig
  • EmbeddedServiceFieldService
  • EmbeddedServiceFlowConfig
  • EmbeddedServiceLiveAgent
  • EntitlementProcess
  • EntitlementTemplate
  • EscalationRules
  • EventDelivery
  • EventSubscription
  • ExternalDataSource
  • ExternalServiceRegistration
  • FeatureParameterBoolean
  • FeatureParameterDate
  • FeatureParameterInteger
  • FlexiPage
  • Flow
  • FlowCategory
  • FlowDefinition
  • Folder
  • GlobalPicklist
  • GlobalPicklistValue
  • GlobalValueSet
  • GlobalValueSetTranslation
  • Group
  • HomePageComponent
  • HomePageLayout
  • InstalledPackage
  • KeywordList
  • Layout
  • Letterhead
  • LightningBolt
  • LightningComponentBundle
  • LightningExperienceTheme
  • LiveChatAgentConfig
  • LiveChatButton
  • LiveChatDeployment
  • LiveChatSensitiveDataRule
  • ManagedTopics
  • MatchingRule
  • Metadata
  • MetadataWithContent
  • MilestoneType
  • MlDomain (Beta)
  • ModerationRule
  • NamedCredential
  • Network
  • NetworkBranding
  • Package
  • PathAssistant
  • PermissionSet
  • PermissionSetGroup (Pilot)
  • PlatformCachePartition
  • PlatformEventChannel
  • Portal
  • PostTemplate
  • PresenceDeclineReason
  • PresenceUserConfig
  • Profile
  • ProfileActionOverride
  • ProfilePasswordPolicy
  • Queue
  • QueueRoutingConfig
  • QuickAction
  • RecommendationStrategy
  • RecordActionDeployment
  • RemoteSiteSetting
  • Report
  • ReportType
  • Role
  • RoleOrTerritory
  • SamlSsoConfig
  • Scontrol
  • ServiceChannel
  • ServicePresenceStatus
  • Settings
  • SharedTo
  • SharingBaseRule
  • SharingRules
  • SharingSet
  • SiteDotCom
  • Skill
  • StandardValueSet
  • StandardValueSetTranslation
  • StaticResource
  • SynonymDictionary
  • Territory
  • Territory2
  • Territory2Model
  • Territory2Rule
  • Territory2Type
  • TopicsForObjects
  • TransactionSecurityPolicy
  • Translations
  • UserCriteria
  • WaveApplication
  • WaveDataflow
  • WaveDashboard
  • WaveDataset
  • WaveLens
  • WaveTemplateBundle
  • WaveXmd
  • Workflow

Register for a demo class now and know all about the Salesforce.

Salesforce Training For Administrators & Developers

Read: Know The Best Tips To Be Followed For Salesforce Admin Certification Test
  • No cost for a Demo Class
  • Industry Expert as your Trainer
  • Available as per your schedule
  • Customer Support Available

Invalid Salesforce Metadata Types

There are some things that you can customize in a Salesforce org but are not available or invalid in the Metadata API. The following components can’t be retrieved or deployed with Metadata API, and changes to them must be made manually in each of your organizations.

Here is a detailed list of invalid Salesforce Metadata types that can be used to prepare Salesforce metadata report, salesforce metadata backup, and export salesforce metadata to excel.

  • Account Teams
  • Activity Button Overrides
  • Analytic Settings
  • Automated Case User Settings
  • Auto-number on Customizable Standard Fields
  • Calendars
  • Campaign Influences
  • Case Contact Roles
  • Case Feed Layouts
  • Case Team Roles
  • Console Layouts
  • Multiline layout fields for contract line items
  • Currency Exchange Rates
  • Data Category Visibility Settings
  • Delegated Administration
  • Divisions
  • Fiscal Year
  • File Upload and Download Security Settings
  • Lead Settings
  • Live Agent chats routed with Omni-Channel
  • Mail Merge Templates
  • Mobile Administration
  • Mobile Users and Devices
  • Multiline layout fields for opportunity teams
  • Offline Briefcase Configurations
  • Opportunity Big Deal Alerts
  • Opportunity Update Reminders
  • Organization-Wide Email Addresses
  • Outlook Configurations
  • Partner Management
  • Predefined Case Teams
  • Product Schedule Setup
  • Quote Templates
  • Salesforce to Salesforce
  • Self-Service Portal Font and Colors
  • Self-Service Portal Settings
  • Self-Service Portal Users
  • Self-Service Public Solutions
  • Self-Service Web-to-Case
  • Service report templates
  • com
  • Social Account/Contact Settings
  • Social Business Rules
  • Social Customer Service Settings
  • SoftPhone Layout
  • Solution Categories
  • Solution Settings
  • Standard fields that aren’t customizable, such as auto number fields or system fields
  • Tag Settings
  • Territory Assignment Rules
  • User Interface Settings (except calendar features, which are supported in ActivitiesSettings)
  • Web Links on Person Account Page Layouts
  • Web-to-Lead

Metadata Components and Types

Metadata components are based on metadata types, such as ApexClass and CustomObject, which extend Metadata which is the base class of metadata types. A component is an instance of a metadata type.

For instance, CustomObject which is a metadata type for custom objects, and MyCustomObject_c component is an instance of a custom object. A metadata type can be identified in the metadata WSDL as any complexType that extends the Metadata complexType. A complexType that is a metadata type includes the following element in its WSDL definition:

<xsd:extension base="in:Metadata">

Field Data Types

Each component field has a specific field type. These field types can correspond to other components defined in the WSDL, or primitive data types, like string, that are commonly used in strongly typed programming languages.

Read: Advance Your Career by Imbibing the Skills with Salesforce Certification

These field data types are used in the SOAP messages that are exchanged between your client application and the API. When writing your client application, follow the data typing rules defined for your programming language and development environment. Your development tool handles the mapping of typed data in your programming language with these SOAP data types.

For more information about primitive data types, see the SOAP API Developer Guide. free salesforce demo

Enumeration Fields

Some component fields have a data type that is an enumeration. An enumeration is the API equivalent of a picklist. The valid values of the field are restricted to a strict set of possible values, all having the same data type. These values are listed in the field description column for each enumeration field. See sortBy for an example of an enumeration field of type string. The XML below shows a sample definition of an enumeration of type string in the WSDL.

<xsd:simpleType name="DashboardComponentFilter">

    <xsd:restriction base="xsd:string">

        <xsd:enumeration value="RowLabelAscending"/>

        <xsd:enumeration value="RowLabelDescending"/>

        <xsd:enumeration value="RowValueAscending"/>

        <xsd:enumeration value="RowValueDescending"/>



Supported Calls

All of the metadata types are supported by the main calls, unless it is stated otherwise in the individual component sections. The main Metadata API calls are:

  • CRUD calls, such as createMetadata()and deleteMetadata()
  • File-based calls, such as deploy()and retrieve()
  • Utility calls, such as listMetadata()and describeMetadata()

Learn Salesforce in the Easiest Way

  • Learn from the videos
  • Learn anytime anywhere
  • Pocket-friendly mode of learning
  • Complimentary eBook available

Things to Remember

  • Salesforce Metadata types are case-sensitive. Specifying a type name with an invalid case results in a deployment error.
  • Salesforce Metadata types don’t always correspond directly to their related data types. In some cases, the information is accessible but not as organized as expected. For example, dependent picklists are exposed as a type of picklist, not a separate metadata type.  
  • The wildcard character doesn’t apply to metadata types for feature settings, like Account Settings. The wildcard applies only when retrieving all settings and not an individual setting.
  • The list of Salesforce metadata types is just the endless that can be used to prepare Salesforce metadata report, salesforce metadata backup, and export salesforce metadata to excel.

Read: Know Everything About a Salesforce Consultant Roles and Responsibilities!

FaceBook Twitter Google+ LinkedIn Pinterest Email

    Janbask Training

    A dynamic, highly professional, and a global online training course provider committed to propelling the next generation of technology learners with a whole new way of training experience.


Trending Courses


  • AWS & Fundamentals of Linux
  • Amazon Simple Storage Service
  • Elastic Compute Cloud
  • Databases Overview & Amazon Route 53

Upcoming Class

8 days 08 Jul 2022


  • Intro to DevOps
  • GIT and Maven
  • Jenkins & Ansible
  • Docker and Cloud Computing

Upcoming Class

1 day 01 Jul 2022

Data Science

  • Data Science Introduction
  • Hadoop and Spark Overview
  • Python & Intro to R Programming
  • Machine Learning

Upcoming Class

8 days 08 Jul 2022


  • Architecture, HDFS & MapReduce
  • Unix Shell & Apache Pig Installation
  • HIVE Installation & User-Defined Functions
  • SQOOP & Hbase Installation

Upcoming Class

8 days 08 Jul 2022


  • Salesforce Configuration Introduction
  • Security & Automation Process
  • Sales & Service Cloud
  • Apex Programming, SOQL & SOSL

Upcoming Class

1 day 01 Jul 2022


  • Introduction and Software Testing
  • Software Test Life Cycle
  • Automation Testing and API Testing
  • Selenium framework development using Testing

Upcoming Class

2 days 02 Jul 2022

Business Analyst

  • BA & Stakeholders Overview
  • BPMN, Requirement Elicitation
  • BA Tools & Design Documents
  • Enterprise Analysis, Agile & Scrum

Upcoming Class

8 days 08 Jul 2022

MS SQL Server

  • Introduction & Database Query
  • Programming, Indexes & System Functions
  • SSIS Package Development Procedures
  • SSRS Report Design

Upcoming Class

1 day 01 Jul 2022


  • Features of Python
  • Python Editors and IDEs
  • Data types and Variables
  • Python File Operation

Upcoming Class

2 days 02 Jul 2022

Artificial Intelligence

  • Components of AI
  • Categories of Machine Learning
  • Recurrent Neural Networks
  • Recurrent Neural Networks

Upcoming Class

16 days 16 Jul 2022

Machine Learning

  • Introduction to Machine Learning & Python
  • Machine Learning: Supervised Learning
  • Machine Learning: Unsupervised Learning

Upcoming Class

29 days 29 Jul 2022


  • Introduction to Tableau Desktop
  • Data Transformation Methods
  • Configuring tableau server
  • Integration with R & Hadoop

Upcoming Class

1 day 01 Jul 2022

Search Posts


Trending Posts

Receive Latest Materials and Offers on Salesforce Course