With the move to Data Cloud Salesforce has changed the behavior around deploying permissions for some of the Data Cloud objects.
The biggest change is that you cannot deploy datastream permissions on Profiles via Metadata API.
This effectively means that datastream permissions need to be deployed via Permissions sets, and not via Profile metadata.
This may be even more confusing because of the fact that you can still manually make datastream permissions changes to Profiles directly in your orgs. The issue is that these changes are just not deployable via tools like Gearset.
Note: The Metadata API is a Salesforce tool that 3rd party apps like Gearset and Workbench use to retrieve and make changes in your orgs.
When a particular metadata is not supported via the Metadata API, in most cases this means it can not be deployed by 3rd party apps (such as Gearset or Workbench).
Below is a chart of what Profile permissions relating to Data Cloud are currently retrievable and deployable via the Metadata API.
This is not a complete list, If you find any additional items feel free to reach out via the in-app chat and they can be added to the list.
Profile permission | Retrievable | Deployable |
Datastream | π’ | π΄ |
DataStreamTemplate | π΄ | π΄ |
DataStreamDefinition | π΄ | π΄ |
DataObjectCategory | π΄ | π΄ |
DataModelTaxonomy | π΄ | π΄ |
DataSourceBundleDefinition | π΄ | π΄ |
If you are looking to deploy any of the above items you will need to manage these permissions via Permission sets to deploy them via Gearset or any other 3ed party tool.
Resolving validation error: "Permission Read DataStream depends on permission(s): Read DataStreamDefinition"
You'd typically run into this error when you are trying to push the Datastream permission on a Profile.
As per the above information, if you wish to deploy these permissions via a Metadata API tool like Gearset you will need to do this via a Permission Set.
If you do need to make this change to your Profile and cannot use a Permission Set, you will need to change this manually in the target org.
