Sandbox tooling is a foundational capability that supports both Real-Time Customer Data Platform and Journey Optimizer to improve the development cycle efficiency and configuration accuracy.
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.
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.
The table below lists Adobe Real-Time Customer Data Platform objects that are currently supported for sandbox tooling:
Platform | Object | Details |
---|---|---|
Customer Data Platform | Sources | The source account credentials are not replicated in the target sandbox for security reasons and will be required to be updated manually. The source dataflow is copied in a draft status by default. |
Customer Data Platform | Audiences | Only the Customer Audience type Segmentation service is supported. Existing labels for consent and governance will be copied over in the same import job. System will auto select default Merge Policy in target sandbox with same XDM class when checking merge policy dependencies. |
Customer Data Platform | Identities | The system will auto-deduplicate Adobe standard identity namespaces when creating in the target sandbox. Audiences can only be copied when all attributes in audience rules are enabled in the union schema. The necessary schemas must be moved and enabled for unified profile first. |
Customer Data Platform | Schemas | Existing labels for consent and governance will be copied over in the same import job. User has the flexibility to import schemas without Unified Profile option enabled. The schema relationships edge case are not included in the package. |
Customer Data Platform | Datasets | Datasets are copied with the unified profile setting disabled by default. |
Customer Data Platform | Consent and Governance Policies | Add custom policies created by a user to a package and move them across sandboxes. |
The following objects are imported but are in a draft or disabled status:
Feature | Object | Status |
---|---|---|
Import status | Source dataflow | Draft |
Import status | Journey | Draft |
Unified profile | Dataset | Unified profile disabled |
Policies | Data governance policies | Disabled |
The table below lists Adobe Journey Optimizer objects that are currently supported for sandbox tooling and limitations:
Platform | Object | Details |
---|---|---|
Adobe Journey Optimizer | Audience | An audience can be copied as a dependent object of the journey object. You can select create a new audience or reuse an existing one in the target sandbox. |
Adobe Journey Optimizer | Schema | The schemas used in the journey can be copied as dependent objects. You can select create a new schema or reuse an existing one in the target sandbox. |
Adobe Journey Optimizer | Merge policy | The merge policies used in the journey can be copied as dependent objects. In the target sandbox, you cannot create a new merge policy, you can only utilize an already existing one. |
Adobe Journey Optimizer | Journey - canvas details | The representation of the journey on the canvas includes the objects in the journey, such as conditions, actions, events, read audiences, and so on, which are copied. The jump activity is excluded from the copy. |
Adobe Journey Optimizer | Event | The events and event details used in the journey are copied. It will always create a new version in the target sandbox. |
Adobe Journey Optimizer | Action | Email and push messages used in the journey can be copied as dependent objects. The channel action activities used in the journey fields, which are used for personalization in the message, are not checked for completeness. Content blocks are not copied. The update profile action used in the journey can be copied. Custom actions and action details used in the journey are also copied. It will always create a new version in the target sandbox. |
Adobe Journey Optimizer | Journey | Adding an entire journey to a package, will copy the majority of the objects the journey depends on, including audiences, schemas, events, and actions. |
Adobe Journey Optimizer | Content template | A content template can be copied as a dependent object of the journey object. Standalone templates allow you to easily reuse custom content across Journey Optimizer campaigns and journeys. |
Adobe Journey Optimizer | Fragment | A fragment can be copied as a dependent object of the journey object. Fragments are reusable components that can be referenced in one or more emails across Journey Optimizer campaigns and journeys. |
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.
All export actions are recorded in the audit logs.
You can only import a package if you have permission to access the 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.
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.
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.
Once it has been published, the package’s contents cannot be changed. To avoid compatibility problems, ensure that all necessary assets have been selected. If changes must be made, you are required to create a new package.
You are returned to the Packages tab in the Sandboxes environment, where you can see the new published package.
All import actions are recorded in the audit logs.
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.
Dependent objects can be replaced with existing ones in the target sandbox, which allow you to reuse existing objects rather than creating a new version. For example, when you import a package including schemas, you can reuse existing custom field group and identity namespaces in the target sandbox. Alternatively, when you import a package including Journeys, you can reuse existing segments in the target sandbox.
Sandbox tooling does not currently support updating or overwriting existing objects. You may choose to create a new object, or continue to use the existing object without modifications.
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.
Currently, only Real-time Customer Data Platform objects are supported when exporting or importing an entire sandbox. Adobe Journey Optimizer objects such as journeys are not supported at this time.
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:
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.
All objects will be imported into the target sandbox as new objects. It is best practice to import a full sandbox package into an empty 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 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 must have full permissions to all of the objects included in the package. If you do not have permissions, the import operation will fail and error messages will appear.
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.
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.
You can view a list of objects by navigating to specific inventory pages.
When your import is complete, a notification is received in the Platform UI. You can access these notifications from the alerts icon. You can navigate to troubleshooting from here if a job is unsuccessful.
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.
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.