I'm in the process of deploying metadata from one org to a completely unrelated org that is downgrading from Unlimited license to Enterprise. I've read the documentation on the unsupported metadata that cannot move via the metadata api. My question is if there is other metadata that is not documented that will not transfer when deploying the metadata using ant. For example, can Lightning Email Templates that are in private folders be moved? Or, do those have to be recreated manually? I deployed email templates both in Classic and Lightning and noticed that the templates from the private folders were not deployed and checked the xml and did not see those templates in the xml so they were not pulled during the ant retrieval. Is there a lot of similar metadata that cannot be retrieved/deployed using the metadata api...i.e. user created list views, user created reports and dashboards, email templates, etc.?
As you noticed, there's still another consideration which is component access - the above applies to global metadata components whereas private components are not accessible to be retrieved or deployed.
I believe only the following types have this concept of user-defined components (ex. "private" or "my" folders) and you noted the major ones in your question:
Only the List Views Doc contains this note
List views with the Visible only to me Restrict Visibility option aren’t accessible in Metadata API. Each of these list views is associated with a particular user.
There's an old idea asking for ability to access Personal Reports through the Metadata API, but no ideas for any of the others I could find.
The above is an example of a limitation of the Metadata API and there's many others I won't be able to list. A good starting point is the Special Behavior in Metadata API Deployments as well as many ideas asking for specific limitations:
- Lightning Record Page activation should be available via Metadata API
- Enable Create/Delete of Country and State Picklists with Metadata API
- Activate/Deactivate Flows via Metadata API
- Add Service Presence Statuses Access to Metadata API
- Allow Named Credentials to be migrated without the Password
Another good way to figure out quirks is to look through the public knowledge bases' of CI/CD tools that work with the Metadata API closely and hit many of these issues in a wide range of features on the platform.