---
schema_version: "1"
id: c9918ac618dc026e3e7c0a5492044555b3928ba0f5496ca2201afdb7acd93d56
title: Tableau Content Migration Tool Use Cases
collection: tableau
version: next
locale: en-us
portal_url: https://docs.salesforce.com/tableau/next/en-us/server/cmt-use-cases.md
canonical_url: https://help.tableau.com/v0.0/server/en-us/cmt-use-cases.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 93ce79aca58d87370969015f4899a2be08371e708775117d8e34f86120bc3515
description: Explore Content Migration Tool use cases like content promotion, customization, and maintenance.
---
[Skip to main content](#main-content)

# Tableau Content Migration Tool Use Cases

Tableau Content Migration Tool as the name suggests, is primarily used for moving Tableau Server content from one site to another. However, there are many features in the tool that makes it ideal for accomplishing several tasks related to content migration and maintenance.

**Note:** In many of the use cases we use the term migration to describe moving content from one environment, site, or project to another. However, technically the Content Migration Tool copies content and does not automatically delete or archive the original or source content.

The information below describes some common use cases where you can leverage the Content Migration Tool.

## Content promotion

You can use the Content Migration Tool to create content for development sites and then perform routine migrations to promote content to staging or production environments.

Use the following steps to promote content to production environments:

1. **Create a plan** and select the site used for development as the source and the staging or production site as the destination. For more information, see Create a Plan in [Migration Plan Overview](https://help.tableau.com/v0.0/server/en-us/cmt-depl_plan_overview.htm#step-1-start) topic.
    
    When migrating your workbooks between two projects on the same site, your sign-in credentials for the source and destination may be similar or identical. In this scenario, we recommend using personal access tokens for a more reusable connection. For more information, see [Personal Access Tokens](https://help.tableau.com/v0.0/server/en-us/security_personal_access_tokens.htm).
2. **Select the content** you want to migrate from your source site. You can select entire projects, specific workbooks and data sources, and user permissions. For more information, see Planning in [Migration Plan Overview](https://help.tableau.com/v0.0/server/en-us/cmt-depl_plan_overview.htm#step-2-planning) topic.
3. If you need to make any **changes or transformations** to the content during this migration, you can configure that in the plan as well. This is referred to as **Mapping**. The types of mapping you can make include:
    
    - **Changes to workbooks:** Includes renaming workbooks and changing the destination project. For a full list of workbook transformations, see [Migration Plans: Workbooks](https://help.tableau.com/v0.0/server/en-us/cmt-plan_workbooks.htm).
        
        ![A dropdown menu in the Migration window that lists options for renaming workbooks, projects, prefixes, and suffixes.](/tableau/next/en-us/server/en-us/Img/cmt-workbook-mapping-options.png)
    - **Changes to data sources:** Includes replacing table or schema names, settings calculation formulas, and setting connection information. For a full list of data source transformations, see [Migration Plans: Workbooks](https://help.tableau.com/v0.0/server/en-us/cmt-plan_workbooks.htm#step-3-workbook-transformations) (embedded data sources) and [Migration Plans: Published Data Sources](https://help.tableau.com/v0.0/server/en-us/cmt-plan_datasources.htm#step-3-data-source-transformations) (published data sources).
        
        ![The Add Transformation dropdown menu for data source transformations.](/tableau/next/en-us/server/en-us/Img/cmt-datasource-mapping-options.png)
    - **Changes to Users:** Includes domain, user, and group name changes in the destination.
4. When you are ready, click **Run Migration** to end the Planning phase and prepare to run your plan.
5. **To schedule** this to run regularly, you can [script this as a job](https://help.tableau.com/v0.0/server/en-us/cmt-scripting_migration_example.htm) using the Content Migration Tool Runner and schedule it. For more information on using the Content Migration Tool Runner, see [Using the Tableau Content Migration Tool Console Runner](https://help.tableau.com/v0.0/server/en-us/cmt-deployment_console_runner.htm).

## Tailoring content for customers

When working in a consulting scenario, you can customize content for each of your customers using the Content Migration Tool. Each workbook functions as a template for your migration plan, allowing you to apply styling (text, images, etc.) and replace data sources for specific customers.

**Use the following steps to customize content for your customers:**

1. **Create a plan** and select the production site as the source and the customer site as the destination. For more information, see Create a Plan in [Migration Plan Overview](https://help.tableau.com/v0.0/server/en-us/cmt-depl_plan_overview.htm#step-1-start) topic.
2. **In the Workbooks** step of the Migration Plan, use workbook mappings and transformations to customize your content. Below are two examples of frequently used transformations. For a full list of workbook transformations, see [Migration Plans: Workbooks](https://help.tableau.com/v0.0/server/en-us/cmt-plan_workbooks.htm).
    
    - To personalize content, you can use the Replace Image and Replace Text transformations to update the workbook with a customer's company name and logo.
    - When it comes to data sources, you can use the Replace Table/Schema Name or Set Custom SQL transformations to modify content for your customer.
3. **Verify and run** the plan. When you are ready, click Run Migration to end the Planning phase and prepare to run your plan.

## Environment migration

You can use the Content Migration Tool to migrate content between Tableau Server environments.

Use the following steps to migrate content between Tableau deployments:

1. **Create a plan** and **select the site** you want to migrate from as your source. For more information, see Create a Plan in [Migration Plan Overview](https://help.tableau.com/v0.0/server/en-us/cmt-depl_plan_overview.htm#step-1-start) topic.
2. **Select the content** you want to migrate from your source site. You can select entire projects, specific workbooks and data sources, and user permissions.
3. **Create user permissions mappings** to customize and secure content. For more information, see [Migration Plans: Permissions and Ownership](https://help.tableau.com/v0.0/server/en-us/cmt-plan_users.htm).
    
    ![A menu with options for planning, mapping, and running a migration, with user mapping highlighted.](/tableau/next/en-us/server/en-us/Img/cmt-user-mapping-options.png)
4. **Verify and run** the plan. When you are ready, click Run Migration to end the Planning phase and prepare to run your plan.

> [!TIP]
> 
> **Tips**  
> \- Before you perform an environment migration, make sure you understand the [Migration Limitations](https://help.tableau.com/v0.0/server/en-us/cmt-migration_limitations.htm) when using the Content Migration Tool.  
> \- You can migrate your content in stages, test and validate content iteratively before final migration is complete. There is no server downtime when you use this method of migration. It can be a replacement for Site import/export.  
> \- Content Migration Tool migration does not handle embedded credentials, subscriptions, and custom views. These will have to be migrated manually.

## External content sharing

You can use the Content Migration Tool to share internal content with external collaborators, without allowing access to your site. This keeps your data secure and allows you to publish only select workbooks and data sources. Once content has been shared, collaborators sign in to their Tableau Server site to view and make changes, without affecting content stored on your internal server.

Before you continue, make sure the content you share is compatible between the internal (source) and external (destination) sites. The external site should be running the same version of Tableau as the internal site or later. For more information about compatibility, see [Make Workbooks Compatible Between Versions](https://help.tableau.com/current/desktopdeploy/en-us/desktop_deploy_compatibility.htm) in Tableau Desktop help.

**Use the following steps to share content externally:**

1. **Work with** the external site administrator to determine a user account that has publishing rights on the site. You will use this user account to create the migration plan. For more information, see [Set Users’ Site Roles](https://help.tableau.com/v0.0/server/en-us/users_site_roles.htm) and [Permissions](https://help.tableau.com/v0.0/server/en-us/permissions.htm).
2. **Prepare internal content**. As a best practice, we recommend separating content on the internal server to a project, with locked permissions and strict governance rules. Workbooks and data sources should be clearly labeled to indicate the content is for external use. For more information, see [Use Projects to Manage Content Access](https://help.tableau.com/v0.0/server/en-us/projects.htm).
    
    **Note:** Content shared with external sites must use data extracts unless the data source is publicly accessible. For information about creating extracts and replacing data sources, see [Extract Your Data](https://help.tableau.com/current/pro/desktop/en-us/extracting_data.htm) and [Replace Data Sources](https://help.tableau.com/current/pro/desktop/en-us/connect_basic_replace.htm) in Tableau Desktop help.
    
    If you have implemented row level security, those data sources must be updated to reflect user filters and other details for the external site. For more information about row level security, see [Restrict Access at the Data Row Level](https://help.tableau.com/current/pro/desktop/en-us/publish_userfilters.htm) in Tableau Desktop help.
3. **Create a plan** and select the internal site as the source and the external site as the destination. For more information, see Create a Plan in [Migration Plan Overview](https://help.tableau.com/v0.0/server/en-us/cmt-depl_plan_overview.htm#step-1-start) topic.
4. **Select the content** you want to share with the external site. You can select entire projects, specific workbooks and data sources, and user permissions.
5. **Verify and run** the plan. When you are ready, click Run Migration to end the Planning phase and prepare to run your plan.

## Validating database migrations

This use case is when you intend to validate content after a migration of the underlying databases. One example of database migration is moving from SQL Server to Snowflake. CMT can help you validate the content built from both data sources is the same before you finalize your migration, but it cannot perform the actual database migration.

Use the following steps to validate database migrations:

1. **Create a plan** and select the Tableau site to use as your source. In this example, we describe a migration between projects on the same Tableau site, so select the same site for your destination. For more information, see Create a Plan in [Migration Plan Overview](https://help.tableau.com/v0.0/server/en-us/cmt-depl_plan_overview.htm#step-1-start) topic.
2. **Configure the migration** to copy your content to a new project. Let's call the **source** project as **Project A**, and the new or the **destination** project as **Project B**.
    - Changes to workbooks: Create a workbook mapping to change Project A to Project B. For a full list of workbook transformations, see [Migration Plans: Workbooks](https://help.tableau.com/v0.0/server/en-us/cmt-plan_workbooks.htm).
    - Changes to data sources: Create a data source mapping to change the Project A to Project B. For a full list of data source transformations, see [Migration Plans: Published Data Sources](https://help.tableau.com/v0.0/server/en-us/cmt-plan_datasources.htm).
3. **Verify and run** the plan. When you are ready, click **Run Migration** to end the Planning phase and prepare to run your plan.
4. **Update the content** in **Project B** with the new database connections or replace the data sources. This needs to be done manually by authoring.
5. **Test each workbook** in **Project A** with the copy in **Project B** and review for any inconsistencies in the data due to the change in data source.
6. Once you have confirmed everything is working as expected, **overwrite the content** in Project A with the updated content in Project B.
    
    **Note:** If the content already exists in the destination project and you do not select the Overwrite Newer Workbooks and Overwrite Newer Data Sources publish options, the content will not be copied to the destination project.

## Geographical content migration

If you are maintaining a geographically distributed, multi-site environment, you will need some of this content to be shared and accessible across all the servers. This use case describes how to migrate content between servers in different geographies. The server can be in the same country or across continents.

> [!TIP]
> 
> **Best Practices:**  
> \- We recommend prioritizing the content that you most need. Content Migration Tool shouldn't be used to copy entire server environments to multiple geographies.  
> \- We recommend migrating content in one direction only meaning Primary to Secondary. Here we use the term Primary to indicate the source site and Secondary to indicate the destination. You can have one or more destination by creating multiple migration plans.

Use the following steps to migrate between Tableau Server that are distributed in different geographies:

1. **Create a plan** and select the Primary site as the source and the secondary site as the destination. For more information, see Create a Plan in [Migration Plan Overview](https://help.tableau.com/v0.0/server/en-us/cmt-depl_plan_overview.htm#step-1-start) topic.
2. **Select content** that you want to share between the Primary and Secondary.
3. **Verify and run** the plan. When you are ready, click Run Migration to end the Planning phase and prepare to run your plan.
4. **To schedule** this to run on regularly, you can [script this as a job](https://help.tableau.com/v0.0/server/en-us/cmt-scripting_migration_example.htm) using the Content Migration Tool Runner and schedule it. For more information on using the Content Migration Tool Runner, see, [Using the Tableau Content Migration Tool Console Runner](https://help.tableau.com/v0.0/server/en-us/cmt-deployment_console_runner.htm).
5. **Review the content** on the source **periodically** to determine if new items should be added to the migration plan.

## Consolidate sites

If you need to combine the content of multiple sites into a single site (if, for example, organizational restructuring has changed how your sites should be arranged), you can use the Content Migration Tool to do this.

**Note:** Before consolidating sites, make sure you understand the limitations when migrating content using the Content Migration Tool. For more information, see [Migration Limitations](https://help.tableau.com/v0.0/server/en-us/cmt-migration_limitations.htm).

Use the following steps to copy all the workbooks and data sources from one site to another:

1. Create a plan and select the site you want to consolidate as the source. For more information, see Create a Plan in [Migration Plan Overview](https://help.tableau.com/v0.0/server/en-us/cmt-depl_plan_overview.htm#step-1-start) topic.
2. On the Source Projects page, select All Projects and click Next.
    
    If a project with the same name exists on the destination site, the content will be migrated to the same folder.
3. On the Project Options page, select your preferences for the destination site and click Next.
    
    If the content already exists in the destination project and you do not select the overwrite option, the content will not be copied to the destination project.
4. On the Workbook Selection screen, select All Workbooks.
5. (Optional) If you are copying published data sources:
    
    - From the left navigation menu, under Published Data Sources, click Selection.
    - Select All Data Sources.
6. Click Run Migration and review the migration plan. When you're ready, click Run at the bottom of the screen to run the migration.

Repeat these steps until you've consolidated all sites. For more information, see Planning in [Migration Plan Overview](https://help.tableau.com/v0.0/server/en-us/cmt-depl_plan_overview.htm#step-2-planning) topic.

## Maintenance tasks

You can use the Content Migration Tool to perform a variety of maintenance tasks.

### Tagging stale content

Using the Content Migration Tool, you can manage archiving stale content. For example, you can build a plan that runs on a regular schedule that can automatically pick up content tagged as Stale Content and move it to an Archive project. After a certain amount of time, the content in this project can be purged from the system. For more information see, [Migration Plans: Workbooks](https://help.tableau.com/v0.0/server/en-us/cmt-plan_workbooks.htm).

### Restoring content

You can use the Content Migration Tool to restore content removed (accidentally or purposefully) from the production Tableau Server with content from a backup server. The restoration process is simple and does not require downtime, compared to restoring with a backup file.

Use the following steps to restore content from a backup server:

1. **Create a plan** and select the backup Tableau Server as the source and the production server as the destination. For more information, see Create a Plan in [Migration Plan Overview](https://help.tableau.com/v0.0/server/en-us/cmt-depl_plan_overview.htm#step-1-start) topic.
2. **Select the content** you want to restore from the backup Tableau Server.
3. **Verify and run** the plan. When you are ready, click Run Migration to end the Planning phase and prepare to run your plan.
4. **Review the content** on the production server.

### Partial backup

Once you have a backup Tableau Server environment, you can use the Content Migration Tool to transfer new content from production to the backup Tableau Server. If you have not configured a backup Tableau Server environment, see the [Disaster Recovery for Tableau Server](https://www.tableau.com/learn/whitepapers/disaster-recovery-tableau-server) whitepaper for more information.

**Notes:**  
\- Before you perform a partial backup, make sure you understand the [Migration Limitations](https://help.tableau.com/v0.0/server/en-us/cmt-migration_limitations.htm) when using the Content Migration Tool.You may still need to periodically perform a full backup and restore to backup all Tableau Server content. For more information, see [Perform a Full Backup and Restore of Tableau Server](https://help.tableau.com/v0.0/server/en-us/backup_restore.htm).  
\- The Content Migration Tool shouldn't be used to perform your first backup.

Use the following steps to perform a partial backup of your content:

1. **Create a plan** and select the backup Tableau Server as the source and the production server as the destination. For more information, see Create a Plan in [Migration Plan Overview](https://help.tableau.com/v0.0/server/en-us/cmt-depl_plan_overview.htm#step-1-start) topic.
2. **Select the content** you want to backup. You can select entire projects, specific workbooks and data sources, and user permissions. To migrate only new content, make sure the publish options Overwrite Newer Workbooks and Overwrite Newer Data Sources are not selected. For more information, see [Migration Plans: Workbooks](https://help.tableau.com/v0.0/server/en-us/cmt-plan_workbooks.htm).
3. **Verify and run** the plan. When you are ready, click Run Migration to end the Planning phase and prepare to run your plan.
4. **To schedule** this to run on a regular basis, you can script this as a job using the Content Migration Tool Runner and schedule it. For more information on using the Content Migration Tool Runner, see [Using the Tableau Content Migration Tool Console Runner](https://help.tableau.com/v0.0/server/en-us/cmt-deployment_console_runner.htm).