Own data seeding is the process of populating a Salesforce org with relevant test or sample data to simulate real-world scenarios. It involves carefully selecting, preparing, and loading data sets that closely match production conditions while protecting sensitive information. By using seeded data, teams can thoroughly test features, train end users effectively, and showcase realistic demos without risking production data integrity.
Chosen approach:
- For now, the data seeding works only for Icare but it is highly recommended to use it also for Core.
- It was decided that the following objects Product, Account and Pricing Campaign have the field "Is Included in Seeding?" that indicates that these objects and its parents and children will have been moved to the new sandbox
- because the tool copies data directly from production, it is impossible to predict if the records chosen by template will not have any data errors ( for example null value for required field e.t.c). Because of that during creation of template we need to keep all automationzation but during sandbox seeding we need to disable all validations
- some objects like ccrz__E_Spec__c and ccrz__E_ProductCategory__c are not related with other objects via lookups or master details relations but via indirect relations (dependencies embedded in trigger or flow logic
- Production contains data that should not be accessible by developes/functionals. To avoid migrate these data to sandboxes the source of data seeding should be UAT env where the data is anonimized
Preparation of Production/UAT (source of data seeding)
- Records to be included in seeding (field "Is Included in Seeding?" = true) should be chosen by people who knows business and technology (Dina, Ann, Julien, e.t.c). on production and then migated to UAT when the UAT sandbox is refreshed. However for now the script has been prepared that selects these records based on data sheet that used to be used to data seeding https://aodocs.altirnao.com/?locale=en_US&aodocs-domain=solvay.com#Menu_viewDoc/LibraryId_QaWbTYEtjpk7b24jVh/DocumentId_TRPZCls0iRDCvcEAlu/ViewId_QaWbVwAysJMabBxB56 the scrip can be found here:

The script mentioned above should be used only in situation when right records were not marked on production
- There is another data model limitation. Cases can be assigned to contracts of the accounts that belong to the same corporate group as the account to which the case is assigned
Because of this approach when we need to download all accounts from a given corporate corporate group to avoid data inconsistencies when we are inserting cases. To achieve that following script was introduced that marks them.

Preparation of sandbox to which we will insert records (data seeding destination)
Because of the fact that products are copied to the sandbox by salesforce when the new sandbox is created and own data seeding template also copies products duplicates occurs. Unfortunatelly there is a custom mechanism that prevents of creation duplicates the entire data seeding fails. To fix this problem the script that prepares sandbox for dataseeding has been created. It needs to be executed. It Changes the material group and material code of products copied during sandbox creation.

Template creation/Modification
Creation of the Template for data seeding creation is intuitive
- log to https://launcher.myapps.microsoft.com/api/signin/6113285c-a00a-45af-82f5-201b36dce74d?tenantId=5e60f7a7-d410-4d38-b875-93ca12adc30e (single sing on is enabled)
- You need to have "own backup" admin privileges. The privileges of data seeder allows you to "press the button" to data seed no to create template
- Ensure that the destination sandbox is added as a backup service. Own backup does not allows you to seed sanbox that are not added as backup service

- Go to the Seeding tab a

- Create or edit the template (you can clone the existing template )

- Roots are records that you as data seeder choose to be inserted. As you can see some of these objects have to be added as roots because these records are indirectly related to records that are roots and cannot be automatically found by own backup tool