# Export and import Virtuoso goals
You can export a goal and all its related entities (e.g., journeys, extensions used, environment variables, test data, etc.) as a single JSON file. This can be useful to create a backup or to copy specific journeys of a goal to another goal or project.
# Exporting a goal
You can export a goal by clicking on the context menu icon of the goal and then clicking on the Export option.

By default, all journeys are included in the export, but specific ones may be selected in the list.
Now click on the Export button and the browser will download a JSON file containing the exported goal's data.
File environment variable limitation
Environment variables as files are not supported when exporting or importing a goal.
# Importing new goal(s)
You can start an import of new goals into the project by clicking on the Import goals button above the goals list.
Upload one or more goal JSON backup files by dragging them onto the drop zone or by clicking it. You can add more files after the first by clicking the Add more button.
Import file restriction
The size of each import goal file cannot exceed 8MB.

Each file entry displays the goal name to be imported and the included journey count. Clicking on each entry will display options for it:
- Goal name - name used when importing the goal from the corresponding file. This is editable and can be changed before starting the import. By default, it is set to the name of the goal at the time of export.
- Journeys to import - list of journeys included in the file, with the option to select which ones to import. By default, all journeys are selected for import.

Goal name restrictions
There can be no duplicate goal names in the project. If a goal with the same name already exists, the corresponding entry in the import modal will be highlighted, and a name change is needed before the import can be started.
You can reorder the entries by dragging them, controlling the order of the import. This is especially relevant if you want to import multiple files as a single goal. To do so, toggle on the Import as single goal option.

When importing as a single goal, the individual goal name fields at the entry level are replaced by a single goal name field. Same name restrictions apply. The individual entries will be imported in order, with each new file overwriting any conflicting journeys from the previous ones, and all of them will be merged into the same final goal.
# Importing into an existing goal
You can also import one or more files into an existing goal by clicking on the context menu icon of that goal and then clicking on the Import option.
Upload one or more goal JSON backup files by dragging them onto the drop zone or by clicking it. You can add more files after the first by clicking the Add more button.
Do not forget to select the Import strategy so Virtuoso knows how to handle conflicts with the existing journeys in the goal. This strategy applies to the entire import operation and will follow the order of the selected files.
The import strategies available are:
- Import and remove any existing journeys - replaces all the journeys of your goal;
- E.g., existing goal has journeys
AandBand you importC, the goal will removeAandBand will addC.
- E.g., existing goal has journeys
- Import new journeys and keep existing - imports journeys that do not exist on the existing goal but keeps the ones that already belong to the existing goal;
- E.g., existing goal has
AandBand you importAandC, the goal will keepAandBand will addC.
- E.g., existing goal has
- Import new journeys and overwrite existing - imports journeys that do not exist on the existing goal, replaces those that already exist with the ones being imported, and keeps the ones that already belong to the existing goal but are not present in the backup file;
- E.g., existing goal has
AandBand you importAandC, the goal will replaceA, will keepBand will addC.
- E.g., existing goal has

You can also select specific journeys to import on each entry. This will be marked as new or existing, to help you identify potential conflicts with the existing journeys in the goal.
# Import process
Once you start the import, a progress modal shows the status of the process, including how many files have been completed out of the total.
# Library Checkpoints import conflict resolution
When importing goals containing library checkpoints, name conflicts may occur. Because library checkpoints with the same name have a higher chance of sharing the same purpose, instead of automatically renaming them, Virtuoso lets you review and resolve conflicts before finalizing the import.
During the import process, and for each file where conflicts occur, Virtuoso will display a modal listing all the conflicting library checkpoints.

You may expand each conflict and review the two versions of the library checkpoint side by side to then decide which one to use: the checkpoint currently used in your project or the checkpoint from the import.
Automatic LC renaming
When opting to keep the Library checkpoint from the import, if it has the same name as an existing library checkpoint, the imported one will be renamed with a number suffix to prevent conflicts.
This ensures that both versions keep existing in the project, preventing other journeys relying on the existing library checkpoint from breaking, while still allowing you to use the imported version in the journeys being imported.
# Post-import rename summary
After the import completes, if any library checkpoints were renamed to avoid conflicts, Virtuoso will show a summary listing all the renamed items grouped by file. Each group is expandable so you can review the changes.
