Sandbox tooling
You are required to have the following two role-based access control permissions to use the sandbox tooling feature:
-
manage-sandbox
or view-sandbox
-
manage-package
Improve configuration accuracy across sandboxes and seamlessly export and import sandbox configurations between sandboxes with the sandbox tooling feature. Use sandbox tooling to reduce the time to value for the implementation process and move successful configurations across sandboxes.
You can use the sandbox tooling feature to select different objects and export them into a package. A package can consist of a single object or multiple objects. Any objects that are included in a package must be from the same sandbox.
Objects supported for sandbox tooling supported-objects
The sandbox tooling feature provides you with the ability to export Adobe Real-Time Customer Data Platform and Adobe Journey Optimizer objects into a package.
Real-time Customer Data Platform objects real-time-cdp-objects
The table below lists Adobe Real-Time Customer Data Platform objects that are currently supported for sandbox tooling:
The following objects are imported but are in a draft or disabled status:
Adobe Journey Optimizer objects abobe-journey-optimizer-objects
The table below lists Adobe Journey Optimizer objects that are currently supported for sandbox tooling and limitations:
The following objects used in the journey are copied as dependent objects. During the import workflow, you can select Create new or Use existing for each:
- Audiences
- Schemas
- Custom actions
- Events
- Fragments
- Content templates
- Canvas details
- Custom actions: When selecting Use existing during the import process when copying a journey to another sandbox, the existing custom actions you select must be the same as the source custom action. If they are not the same, the new journey will have unresolvable errors.
- The events and event details used in the journey are copied. It will always create a new version in the target sandbox.
The update profile action used in the journey can be copied. Custom actions can be added to a package independently. Action details used in the journey are also copied. It will always create a new version in the target sandbox.
Custom actions can be added to a package independently. Once a custom action is assigned to a journey, it can no longer be edited. To make updates to custom actions, you should:
- move custom actions prior to migrating a journey
- update configurations (such as request headers, query parameters, and authentication) for custom actions post migration
- migrate journey objects with the custom actions you added during the first step
The following objects used in the campaign are copied as dependent objects:
- Campaigns
- Audiences
- Schemas
- Content templates
- Fragments
- Message/Content
- Channel configuration
- Unified decision objects
- Experiment settings/variants
- Campaigns can be copied along with all items related to the profile, audience, schema, inline messages, and dependent objects. Some items are not copied, such as data usage labels and language settings. For a complete list of objects that cannot be copied, refer to the exporting objects to another sandbox guide.
- The system will automatically detect and resuse an existing channel configuration object in the target sandbox if an identical configuration exists. If no matching configuration is found, the channel configuration is skipped during import, and users must manually update the channel settings in the target sandbox for this journey.
- Users may reuse existing experiments and audiences in the target sandbox as dependent objects of selected campaigns.
Surfaces (for example, presets) are not copied over. The system automatically selects the closest possible match on the destination sandbox based on the message type and surface name. If there are no surfaces found on the target sandbox, then the surface copy will fail, causing the message copy to fail because a message requires a surface to be available for setup. In this case, at least one surface needs to be created for the right channel of the message in order for the copy to work.
Custom identity types are not supported as dependent objects when exporting a journey.
Export objects into a package export-objects
This example documents the process of exporting a schema and adding it to a package. You can use the same process to export other objects, for example, datasets, journeys, and many more.
Add object to a new package add-object-to-new-package
Select Schemas from the left navigation and then select the Browse tab, which lists the schemas available. Next, select the ellipsis (...
) next to the selected schema, and a dropdown displays controls. Select Add to package from the dropdown.
From the Add to package dialog, select the Create new package option. Provide a Name for your package and an optional Description, then select Add.
You are returned to the Schemas environment. You can now add additional objects to the package you created by following the next steps listed below.
Add an object to an existing package and publish add-object-to-existing-package
To view a list of the available schemas, select Schemas from the left navigation and then select the Browse tab. Next, select the ellipsis (...
) next to the selected schema to see control options in a dropdown menu. Select Add to package from the dropdown.
The Add to package dialog appears. Select the Existing package option, then select the Package name dropdown and select the package required. Finally, select Add to confirm your choices.
The list of objects added to the package is listed. To publish the package and make it available to be imported into sandboxes, select Publish.
Select Publish to confirm to publication of the package.
You are returned to the Packages tab in the Sandboxes environment, where you can see the new published package.
Import a package to a target sandbox import-package-to-target-sandbox
To import the package into a target sandbox, navigate to the Sandboxes Browse tab and select the plus (+) option beside the sandbox name.
Using the dropdown menu, select the Package name you want to import to the targeted sandbox. Add a Job name, which will be used for future monitoring. By default, unified profile will be disabled when the package’s schemas are imported. Toggle Enable schemas for profile to enable this, then select Next.
The Package object and dependencies page provides a list of all assets included in this package. The system automatically detects dependent objects that are required for successfully importing selected parent objects. Any missing attributes are displayed at the top of the page. Select View details for a more detailed breakdown.
To use an existing object, select the pencil icon beside the dependent object.
The options to create new or use existing are displayed. Select Use existing.
The Field group dialog shows a list of field groups available for the object. Select the field groups required, then select Save.
You are returned to the Package object and dependencies page. From here, select Finish to complete the package import.
Export and import an entire sandbox
You can export all supported object types into a full sandbox package, then import the package across various sandboxes to replicate object configurations. For example, this functionality allows you to:
- Reimport a sandbox to reproduce all of the object’s configurations if you need to reset the sandbox
- Import the package into other sandboxes and utilize it as a blueprint sandbox to accelerate the development process.
Export an entire sandbox export-entire-sandbox
To export an entire sandbox, navigate to the Sandboxes Packages tab and select Create package.
Select Entire sandbox for the Type of package in the Create package dialog. Provide a Package name for your new package and select the Sandbox from the dropdown. Finally, select Create to confirm your entries.
The package is created successfully, select Publish to publish the package.
You are returned to the Packages tab in the Sandboxes environment, where you can see the new published package.
Import the entire sandbox package import-entire-sandbox-package
To import the package into a target sandbox, navigate to the Sandboxes Browse tab and select the plus (+) option beside the sandbox name.
Using the dropdown menu, select the full sandbox using the Package name dropdown. Add a Job name, which will be used for future monitoring and an optional Job description, then select Next.
You are taken to the Package object and dependencies page where you can see the number of objects and dependencies that are imported and excluded objects. From here, select Import to complete the package import.
Allow some time for the import to complete. The time to complete can vary depending on the number of objects in the package. You can monitor the import job from the Sandboxes Jobs tab.
Monitor import details view-import-details
To view the imported details, navigate to the Sandboxes Jobs tab and select the package from the list. Alternatively, use the search bar to search for the package.
Select View import summary from the right details pane in the Jobs tab in the Sandboxes environment.
The Import summary dialog shows a breakdown of the imports with progress as a percentage.
When your import is complete, a notification is received in the Experience Platform UI. You can access these notifications from the alerts icon. You can navigate to troubleshooting from here if a job is unsuccessful.
Transfer iterative object configurations updates across sandboxes via sandbox tooling move-configs
You can use sandbox tooling to transfer object configurations between different sandboxes. Previously, configuration updates to your objects (such as schemas, field groups, and data types) had to be manually recreated or reimported in order to be transferred to other sandboxes. With this capability, you can use sandbox tooling to accelerate your workflows and reduce potential errors by seamlessly transferring your configuration updates across different sandboxes.
- The appropriate permissions to access sandbox tooling.
- A newly created or updated object (such as a schema) in your source sandbox.
Supported object types for update operation
The following are supported object types for update:
- Schemas
- Field groups
- Data types
- Adding new fields/field groups to the resource.
- Making a required field optional.
- Introducing new required fields.
- Introducing a new relationship field.
- Introducing a new identity field.
- Changing the resource’s display name and description.
- Removing previously defined fields.
- Redefining existing fields when schema is enabled for Real-Time Customer Profile.
- Removing or restricting previously supported field values.
- Moving existing fields to a different location in the schema tree – this will create a new field in the target sandbox, but the previous field will not be removed.
- Enabling or disabling the schema to participate in Profile – this operation will be skipped in diff comparison.
- Access control labels.
Follow the steps below to learn how to use sandbox tooling to transfer your object configurations across different sandboxes.
Previously imported objects
Follow these steps if your use case involves existing objects in your source sandbox that require configuration updates, after having already been packaged and imported to other sandboxes.
First, update the object in your source sandbox. For example, navigate to the Schemas workspace, select your schema, and add a new field group.
Once you have updated your schema, navigate to Sandboxes, select Packages, and then locate your existing package.
Use the packages interface to verify your changes. Select Check for updates to view any changes to the artifacts in your package. Next, select View diff to receive a detailed summary of all the changes conducted against your artifacts.
The View diff interface appears. Refer to this toll for information on your source and target artifacts, as well as the changes to be applied to them.
During this step, you can also select Summarize with AI for a step-by-step summary of all changes.
When ready, select Update package and then select Confirm in the pop up window that appears. Once the job is complete, you can refresh the page and select View history to verify the version of your package.
To import your changes, navigate back to the Packages directory and select the ellipses (...
) beside your package, then select Import package. Experience Platform auto-selects Update existing objects. Verify the changes, and then select Finish.
To further validate your import process, navigate to your target sandbox and manually view the updated object from within that sandbox.
Objects created manually in target sandbox
Follow these steps if your use case involves applying configuration changes to objects that were manually created in separate sandboxes.
First, create and publish a new package with your updated object.
Next, import your package to the target sandbox that contains the objects that you also want to update. During the import process, select Update existing objects and then use the object navigator to manually select the target objects that you want your updates to apply to.
- It is optional to select a target mapping in a different sandbox for dependent objects. If none is selected, a new one is created.
- For identity namespace, the system auto-detects if a new identity needs to be created if an existing one needs to be reused in the target sandbox.
Once you have identified the target objects that you want to update, select Finish.
Video tutorial
The following video is intended to support your understanding of sandbox tooling, and outlines how to create a new package, publish a package, and import a package.
Next steps
This document demonstrated how to use the sandbox tooling feature within the Experience Platform UI. For information on sandboxes, see the sandbox user guide.
For steps on performing different operations using the Sandbox API, see the sandbox developer guide. For a high-level overview of sandboxes in Experience Platform, refer to the overview documentation.