Explanation of the error
Users have reported the following to us:
If your source and target are both on or above the API version 50 (Winter ’21) and
you are deploying a profile that contains this in the source (XML preview):
<tabVisibilities>
<tab>standard-VideoCall</tab>
<visibility>DefaultOff</visibility>
</tabVisibilities>
You will get the validation error:
"You can't edit tab settings for <xxx>, as it's not a valid tab.
" - where <xxx>
in this context refers to a specific Custom object metadata type.
An example of this type of error message(es) below shows that these errors can be related to more than one Custom object (so they're not tied to any specific object).
One of such objects referenced in the error may be VideoCall
, for example:
These type of validation errors are happening because Salesforce API does not support the deployment of tabs for Custom object(s) referenced in the error message.
Resolution
If you are deploying from org to org, you can workaround this error by removing the referenced <xxx>
Custom object (e.g. VideoCall
) from your metadata filter.
This will prevent the profile from retrieving the tab visibilities for this custom tab, and therefore not deploy this section.
Once you have your comparison loaded in our app, select the cog icon (menu on the left hand side):
Then navigate to section Specify named items and rules
. This will enable the menu where you can exclude items by their object name.
On this example, we're going to exclude Custom object named VideoCall
from the comparison (and essentially from the deployment package). The configuration for that is as below:
When you're ready to exclude the object, select the Add
option.
Once the object is correctly added to the excluded items, it'd show up on the list as on below image:
Workaround for when you're deploying from a Git branch
If you are deploying from Git (where all components of a profile are retrieved), you can work around this and still deploy the Profile by:
Downloading the deployment package, from the
Download package
button on the deployment summary page before the deployment.
See here for more instructions:
- How to replicate deployment errors with other tools?Edit the
.profile
file (using software that can view the XML such as Notepad, TextEdit or VS Code) to delete the four lines that referencestandard-VideoCall
.Create a new comparison with
Local files
as the modified.profile
file (with the validpackage.xml
) and deploy.
Hopefully, this workaround will help you deploy your profile successfully!
Disclaimer: This error is returned by Salesforce directly, rather than Gearset. Even so, we offer guidance based on our combined experience with the Metadata API. Where possible, we try to help guide you to fix or avoid this error. In the case that this isn't possible, we may need to direct you to Salesforce support for further clarification.