All Collections
Troubleshooting
Salesforce validation errors
Salesforce validation errors
Resolving validation errors - "You can't edit tab settings for <xxx>, as it's not a valid tab." - where <xxx> refers to a specific Custom object
Resolving validation errors - "You can't edit tab settings for <xxx>, as it's not a valid tab." - where <xxx> refers to a specific Custom object

Cause and solution to this Salesforce validation error.

Valerio Chang avatar
Written by Valerio Chang
Updated this week

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:

  1. 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?

  2. Edit the .profile file (using software that can view the XML such as Notepad, TextEdit or VS Code) to delete the four lines that reference standard-VideoCall.

  3. Create a new comparison with Local files as the modified .profile file (with the valid package.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.

Did this answer your question?