ÃÛ¶¹ÊÓƵ

Sandbox tooling

NOTE
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.

Objects supported for sandbox tooling supported-objects

The sandbox tooling feature provides you with the ability to export ÃÛ¶¹ÊÓƵ Real-Time Customer Data Platform and ÃÛ¶¹ÊÓƵ Journey Optimizer objects into a package.

Real-time Customer Data Platform objects real-time-cdp-objects

The table below lists ÃÛ¶¹ÊÓƵ 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 ÃÛ¶¹ÊÓƵ 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

ÃÛ¶¹ÊÓƵ Journey Optimizer objects abobe-journey-optimizer-objects

The table below lists ÃÛ¶¹ÊÓƵ Journey Optimizer objects that are currently supported for sandbox tooling and limitations:

Platform
Object
Details
ÃÛ¶¹ÊÓƵ 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.
ÃÛ¶¹ÊÓƵ 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.
ÃÛ¶¹ÊÓƵ 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.
ÃÛ¶¹ÊÓƵ 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.
ÃÛ¶¹ÊÓƵ 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.
ÃÛ¶¹ÊÓƵ 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.
ÃÛ¶¹ÊÓƵ 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.
ÃÛ¶¹ÊÓƵ 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.
ÃÛ¶¹ÊÓƵ 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.

Export objects into a package export-objects

NOTE
All export actions are recorded in the audit logs.
NOTE
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.

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.

List of schemas showing the dropdown menu highlighting the Add to package control.

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.

The Add to package dialog with Create new package selected and highlighting 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.

List of schemas showing the dropdown menu highlighting the Add to package control.

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.

Add to package dialog, showing a selected package from the dropdown.

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.

A list of objects in the package, highlighting the Publish option.

Select Publish to confirm to publication of the package.

Publish package confirmation dialog, highlighting the Publish option.

NOTE
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.

List of sandbox packages highlighting the new published package.

Import a package to a target sandbox import-package-to-target-sandbox

NOTE
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.

The sandboxes Browse tab highlighting the import package selection.

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 import details page showing the Package name dropdown selection

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.

The Package object and dependencies page shows missing attributes.

NOTE
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 Package object and dependencies page shows a list of assets included in the package.

The options to create new or use existing are displayed. Select Use existing.

The Package object and dependencies page showing dependent object options Create new and Use existing.

The Field group dialog shows a list of field groups available for the object. Select the field groups required, then select Save.

A list of fields shown on the Field group dialog, highlighting the Save selection.

You are returned to the Package object and dependencies page. From here, select Finish to complete the package import.

The Package object and dependencies page shows a list of assets included in the package, highlighting Finish.

Export and import an entire sandbox

NOTE
Currently, only Real-time Customer Data Platform objects are supported when exporting or importing an entire sandbox. ÃÛ¶¹ÊÓƵ 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:

  • 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.

The Sandboxes Packages tab highlighting 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 Create package dialog showing completed fields and highlighting Create.

The package is created successfully, select Publish to publish the package.

List of sandbox packages highlighting the new published 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

NOTE
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.

The sandboxes Browse tab highlighting the import package selection.

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.

The import details page showing the Package name dropdown selection

NOTE
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.

The Package object and dependencies page shows the inline message of object types not supported, highlighting 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.

The sandboxes Jobs tab highlights the import package selection.

Select View import summary from the right details pane in the Jobs tab in the Sandboxes environment.

The sandboxes Imports tab highlights the View import details selection in the right pane.

The Import summary dialog shows a breakdown of the imports with progress as a percentage.

NOTE
You can view a list of objects by navigating to specific inventory pages.

The Import details dialog showing a detailed breakdown of the imports.

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.

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.

recommendation-more-help
e243ad8f-a318-46b3-9930-159a80f82b42