Salesforce metadata is the structure and configuration of your Salesforce org, including customizations made to standard Salesforce objects, fields, apps, and more. To move this metadata between orgs, you can use change sets.
A change set is a collection of metadata components (such as custom object definitions, page layouts, Apex classes, and Visual force pages) that you want to deploy from one Salesforce org to another. For example, you might want to move a custom object definition from a developer org to a production org. You can add almost any type of component to a change set except for a few that are not supported or that can’t be deployed.
Creating a Change Set:
To create a change set, follow these steps:
- In Setup, enter Change Sets in the Quick Find box, and then select Change Sets.
- Click New.
- In the Available Components related list, select the components you want to deploy and click Add. The Selected Components related list displays the components you’ve added to the change set.
- (Optional) to add all components that have not been previously deployed from one org to another, click Add All Components with Dependencies. To deploy only those components on which other selected components depend, click Validate Only in This Org.
- Click Save or Save & Deploy. If you save the change set, you can come back and deploy it later. If you save and deploy it, the Deployment Status page appears so you can monitor the deployment.
You can add most metadata types to change sets, but a few aren’t supported:
- Account Teams
- Account Team templates
- Custom apps (not custom objects)
- Deleted components
- Duplicate rules
- Everett clear text passwords in Profiles or Permission Sets
- Flows that are not currently active in an org (including flows from managed packages) or that have been exported as .flow files from Flow Builder. For more information about deploying flows, see Deploying Flow Definitions with Change Sets.
- Group memberships for permission sets and profiles (users have added automatically when you deploy a permission set or profile)
- Inbound change sets from sandbox or developer preview orgs
- List views for standard objects (these are deployed automatically when you deploy page layouts that contain them)
- Matching rules
- Partner WSDL files, generated WSDL files, and Enterprise WSDL files associated with a Salesforce org. For more information about deploying partner WSDL files, see Deploying Partner WSDL Files with Change Sets.
- Record types for standard objects (these are deployed automatically when you deploy page layouts that contain them)
- Roles (custom roles are added automatically when you deploy permission sets)
- Static resources larger than 5 MB
- Territory2 models, assignment rules, and sharing rules
- Users (except for user permission sets)
- Wave applications, dashboards, and lenses
You can deploy some of these unsupported component types by using other tools, such as the Force.com IDE or the Metadata API . For more information, see Deploying Large Components with the Force.com IDE and Developing with the Metadata API.
Q: Do I need to deploy my entire org when I want to move changes between orgs?
A: No. You can use change sets to deploy only the metadata components that you want to move. This is handy when you want to move a single custom object or Apex class from one org to another, for example.
You can use change sets to deploy only the metadata components that you want to move. This is handy when you want to move a single custom object or Apex class from one org to another, for example. When you add a component to a change set, Salesforce analyzes it and automatically adds any required dependent components to the change set. For example, if you add a Visual force page that uses a custom controller, the custom controller is added automatically. This ensures that your changes will work correctly in the destination org. Profile and permission set changes are deployed automatically when you deploy a user. However, if you want to deploy only profile or permission set changes, you can do so by creating a change set that contains profiles or permission sets