> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://help.sigmacomputing.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://help.sigmacomputing.com/_mcp/server.

# Deploy content from one tenant organization to one or more tenants (Beta)

This documentation describes one or more public beta features that are in development. Beta features are subject to quick, iterative changes; therefore the current user experience in the Sigma service can differ from the information provided in this page.

This page should not be considered official published documentation until Sigma removes this notice and the beta flag on the corresponding feature(s) in the Sigma service. For the full beta feature disclaimer, see [Beta features](/docs/sigma-product-releases#beta-features).

This is a premium feature. To enable it for your Sigma organization, contact your Sigma Account Executive.

You can deploy content from one tenant organization to one or more other tenant organizations if all tenants share a parent organization. For more details about what content gets deployed and considerations, see [Deploy content to tenant organizations](/docs/deploy-content-to-tenant-organizations). For example use cases, see [Deployment use cases and examples](/docs/deployment-use-cases-and-examples).

For instructions deploying content from a parent organization to tenant organizations, see [Deploy content from a parent organization to one or more tenants](/docs/deploy-content-from-parent-organization-to-tenant-organizations).

## Requirements

To deploy documents from one tenant to another, the following tenant organization requirements apply:

* All tenants must share the same parent organization.
* The source tenant must be [granted capabilities to deploy to other tenants](#set-up-a-tenant-organization-to-deploy-to-other-tenant-organizations).
* Each tenant organization must have at least one connection configured. See [Connect to data sources](/docs/connect-to-data-sources).
* If you plan to deploy content containing input tables, each tenant must have a connection to either Databricks or Snowflake with write access enabled.

To set up an organization to deploy documents to tenants, you must be assigned an account type with the following relevant permissions enabled:

* To create user attributes and assign tenants, the **Manage user attributes** permission must be enabled on your account type.
* To create source swap policies and define deployment policies, including add documents and tenants, the **Manage deployment policies** feature permission must be enabled on your account type.
* To add documents to a deployment policy, you must be granted at least **Can view** access to the relevant workbooks and documents.

An admin in the parent organization can also perform these steps by opening a tenant organization. For instructions on administering a tenant organization from a parent organization, see [Configure a tenant organization](/docs/multitenancy-at-sigma#configure-a-tenant-organization).

### Set up a tenant organization to deploy to other tenant organizations

In the parent organization, an admin can grant one or more tenant organizations the capability to deploy content to specific other tenant organizations.

1. In the Administration portal, go to **Tenants**.
2. Select a tenant that you want to be capable of deploying content to other tenants. For example, a `Test` tenant.

   The tenant details open.
3. In the **Tenant management** section, click **Deployment capabilities**.
4. Click **Add capability** to add one or more tenant organizations that the selected tenant can deploy content to.
5. In the **Add deployment targets** modal, search for a tenant name and select one or more tenants. For example, select `Prod` to allow the `Test` tenant to deploy content to the `Prod` tenant.
6. Select **Add**.

   Users in the selected tenant can add any of the tenants in the **Deployment capabilities** list to a defined deployment policy. For steps, see [Deploy content from one tenant to other tenants](/docs/deploy-content-from-one-tenant-to-other-tenants).

## Prepare to deploy content to tenants

Preparing to deploy content to tenant organizations involves several steps. Depending on your Sigma Tenants architecture, perform the relevant steps:

1. [Configure data source swapping](#configure-data-source-swapping) for each connection in the source organization.
2. [Map tenant connections](#map-tenant-connections) to define which connection to swap to in each tenant.
3. [Define a deployment policy](#define-a-deployment-policy) for each set of content that you want to deploy to a tenant as a workspace.

Every time you add a new tenant organization and configure a connection for the tenant, perform the following steps to start deploying content to the new tenant:

1. [Map the tenant connections](#map-tenant-connections).
2. [Add the tenant to the deployment policy](#add-tenants-to-the-deployment-policy).

### Configure data source swapping

For each connection in the source tenant that must be swapped to a connection in a target tenant, configure the following in the source tenant:

1. [Create a user attribute](#create-a-user-attribute-to-manage-tenant-connections)
2. [Configure a source swap policy](#configure-a-source-swap-policy)

Every time a new connection is added to tenant organizations, repeat these steps to configure data source swapping for the new connection.

### Map tenant connections

If you configure data source swapping, assign the user attribute to each tenant with the value of the relevant connection name or ID in each tenant.

The user attribute is used in the source swap policy to swap the data sources correctly for each tenant. See [Assign the user attribute to one or more tenants](#assign-the-user-attribute-to-one-or-more-tenants).

Perform these steps for each tenant organization that you plan to deploy content to.

### Configure a deployment policy

To deploy content to tenant organizations, do the following:

1. [Define a deployment policy](#define-a-deployment-policy).
2. [Add documents to the deployment policy](#add-documents-to-the-deployment-policy).
3. [Add tenants to the deployment policy](#add-tenants-to-the-deployment-policy).

## Create a user attribute to manage tenant connections

When you deploy content from one tenant to other tenants, the data sources must be swapped to match the connections that exist in the other tenants.

For each connection in the source tenant that must be swapped to a connection in a target tenant, create a user attribute.

To create a user attribute, see [Configure user attributes](/docs/user-attributes).

## Configure a source swap policy

To manage swapping connections for deployed documents, configure a source swap policy for each connection in the source tenant that must be swapped to a connection in a target tenant:

1. In the Administration portal, go to **Source swap policies**.

2. Click **Create policy**, then choose **Deployment**.

3. For **Name**, enter a name for the policy. For example, `Swap Corporate Connection`.

4. For **From**, choose the relevant connection in the source tenant that you want to swap from. For example, `Corporate`.

5. For **To**, select the attribute that you created. For example, `corporate_connection`.

   When deploying documents, Sigma swaps the connection selected in **From** to the connection identified by the assigned value in the user attribute.

6. (Optional) If you want to swap specific paths in the connection to a different path in a target tenant, click **Add rule**:

   1. For **From**, select the path to swap in the connection in the source tenant.
   2. For **To**, define the values to swap to for each target tenant. The path segments available to swap depend on your connection. For example, for a connection to Snowflake, you can swap the database, schema, and/or table. For each segment of the path, choose how to swap:

      * **Exact value**: Specify the value to swap to. For example, if the schema name is the same for all databases that you plan to swap, choose **Exact value** and enter the schema name.
      * **User attribute**: Specify a user attribute to use to specify the value to swap to. The assigned value of the user attribute is used when the swap is performed.

   After adding a rule, click **Save**. You can add multiple rules.

   For example, to swap a `FIN_OPS` database in the source tenant `Corporate` Snowflake connection to a `HR_OPS` database in a tenant connection, where the schema and table structure is identical, do the following:

   1. For **From**, choose `FIN_OPS` as the database, then for schema, choose **All paths**.
   2. For **To**, select **Exact value** as the database, then for **Value**, specify `HR_OPS`.

   If instead, you want to swap a `FIN_OPS` database in the source tenant `Corporate` Snowflake connection to a `HR_OPS` database in one tenant connection and a `SALES_OPS` database in another tenant connection, [create a user attribute](/docs/user-attributes) with a name like `database_swap` and assign the attribute to each target tenant with the value of the database in the target tenant, then add a rule like the following:

   1. For **From**, choose `FIN_OPS` as the database, then for schema, choose **All paths**.
   2. For **To**, select **User attribute** as the database, then choose the relevant user attribute: `database_swap`.

   If you want to swap a full object path, such as a table named `CLIENT_PURCHASES` in the `EXPENSES` schema of the `SALES` database in the source tenant `Corporate` Snowflake connection that is in a different location (e.g., `FINANCE.EXPENSE_TRACKING.PURCHASES`) in all tenant connections, do the following:

   1. For **From**, choose `SALES` as the database, then for schema, choose `EXPENSES`. For **Table**, choose `CLIENT_PURCHASES`. If all tables in the schema have the same name in all target tenant connections, choose **All paths**.
   2. For **To**:

      1. For **Database** select **Exact value**, then for **Value**, specify `FINANCE` as the database.
      2. For **Schema**, choose **Exact value** again, then specify a value of the schema in all target tenant connections: `EXPENSE_TRACKING`.
      3. If the table has the same name in the path, for **Table**, choose **Exact value**, then specify a value of the table in all tenant connections: `PURCHASES`.

7. After configuring the source swap policy, click **Create**.

## Assign the user attribute to one or more tenants

To map the connections to tenants and ensure that the source swap and deployment policies swap the sources of the content to tenants to the correct connections, assign the user attribute to specific target tenants.

Before you assign the user attribute, identify the connection name for the target tenants that you plan to deploy to.

If the connection name is the same as the source tenant, use that. If the connection name is different, contact a user in each relevant target tenant to request the connection name or ID for their tenant.

Assign the user attribute to one or more tenants:

1. In the Administration portal, go to **User attributes**.
2. Select the user attribute that you created. For example, `corporate_connection`.
3. On the user attribute detail page, select **Tenants Assigned**.
4. Click **Assign Attribute to Tenants**.
5. In the **Assign Attribute** modal, search for and select one or more tenant names.
6. For each tenant that you want to assign, specify an **Assigned Value**. The assigned value can be a connection name or a connection ID.
7. Click **Assign**.

## Define a deployment policy

For each set of documents that you want to deploy to one or more other tenants:

1. Create a deployment policy. Each deployment policy creates a workspace in one or more target tenants.
2. Add documents that you want to deploy to one or more target tenants.
3. Add tenants to the deployment policy to deploy the documents to the specified tenants.

### Create a deployment policy

To manage deploying content with other tenants, create a deployment policy:

1. In the Administration portal, go to **Deployment policies**.

2. Click **Create deployment policy**.

3. For **Name**, name the deployment policy. By default, the name of the deployment policy is the name of the workspace created in the tenant organization.

4. (Optional) Turn on the **Use a different name in tenants** toggle, then specify a different name to use as the workspace name created in the tenant organizations.

5. (Optional) By default, the published version of the documents added to the deployment policy is deployed. If you want to deploy a tagged version instead, for **Version tag**, choose a version tag.

   After you create the deployment policy, you cannot change or remove the version tag. To change which tagged version of the documents in the policy get deployed, or to deploy multiple tagged versions of a document, create a new deployment policy.

6. (Optional) If the target tenant organizations use a different connection from the source tenant, turn on the **Swap data sources** toggle and do the following:

   1. Select **Add source swap policy**, then choose a source swap policy.

      You can add only one source swap policy per connection. If a source swap policy is unavailable to select, a source swap policy that swaps the same connection is already added to the deployment policy. Each connection can map to only one source in a deployment policy.
   2. Repeat for each connection that must be swapped in the source tenant.

7. (Optional) If the documents being deployed contain input tables and you want to copy the data from the input tables to the deployed workbooks, turn on the **Copy input table data to tenants** toggle. For details about how data is copied, see [How input table data is deployed](/docs/deploy-content-to-tenant-organizations#how-input-table-data-is-deployed).

8. Click **Create**.

   Your deployment policy is created. Select it to add documents and tenants.

### Add documents to the deployment policy

After creating a deployment policy, add documents to deploy them to tenants:

1. In the Administration portal, go to **Deployment policies**
2. Locate and select the deployment policy to which you want to add documents.
3. Click **Add document**.
4. In the **Add document** modal, search or browse to a document to deploy to tenant organizations, then select the document.
5. Click **Add**.
6. Repeat steps 3–5 to add more documents.

### Add tenants to the deployment policy

After creating the deployment policy, add tenants to share the documents with:

One tenant can be added to multiple deployment policies.

1. In the Administration portal, go to **Deployment policies**.
2. Locate and select the deployment policy to which you want to add tenants.
3. Select the **Deploy to** tab.
4. Click **Add tenant**.
5. In the **Add tenant** modal, search for and select one or more tenants.
6. Click **Add**.

After adding a tenant, a new workspace appears in the tenant organization. The workspace contains any documents deployed by the deployment policy. The workspace and all deployed documents should appear within a few minutes.

After setting up the deployment policy, [manage deployed content](/docs/manage-deployed-content).

## Programmatically deploy content from one tenant to other tenants

If you want to use the Sigma REST API to manage deploying content from one tenant to other tenants, refer to the following steps and endpoints:

Before a tenant can deploy to other tenant organizations, an admin in the parent organization must [add deployment capabilities](/reference/add-tenant-deployment-capabilities) (`POST /v2/tenants/{tenantOrganizationId}/capabilities/deployments:batchAdd`).

After a tenant is set up to deploy to other tenant organizations, a user in a tenant organization with API credentials, or an admin in the parent organization [impersonating each tenant for API calls](/docs/impersonate-users#impersonate-users-for-api-calls) can programmatically perform the following steps:

1. For the source tenant and each target tenant, retrieve the connection ID and name information. Use [List connections](/reference/list-connections) (`GET /v2/connections`).
2. In the source tenant organization, [create a user attribute](/reference/create-user-attribute) (`POST /v2/user-attributes`).
3. Assign the user attribute to target tenants with the value of the relevant connection ID or name for each tenant. Use [Set a user attribute for tenants](/reference/set-user-attribute-for-tenants) (`POST /v2/user-attributes/{userAttributeId}/tenants`).
4. [Create a source swap policy](/reference/create-source-swap-policy) with a type of `deployment`. In the `swaps` portion of the request body, provide the user attribute as the `toConnection` parameter.
5. In the source tenant organization, [create a deployment policy](/reference/create-deployment) (`POST /v2/deploymentPolicies`). For the `sourceSwapPolicies` parameter in the request body, provide one or more source swap policies.
6. [Add documents to the deployment policy](/reference/add-inodes-to-deployment) (`POST /v2/deploymentPolicies/{deploymentPolicyId}/files`). To identify which documents to add, call the [List workbooks](/reference/list-workbooks) or [List data models](/reference/list-data-models) endpoints and use the `workbookId` or `dataModelId` in the response in the `inodeIds` option.
7. [Add tenants to the deployment policy](/reference/add-tenant-to-deployment) (`POST /v2/deploymentPolicies/{deploymentPolicyId}/tenants`).

   To determine which tenants the source tenant is capable of deploying to, call the [List deployable tenant organizations](/reference/list-deployable-tenants) (`GET /v2/deploymentPolicies/tenants`) endpoint.

## Related resources

* [Sigma Tenants (Beta)](/docs/multitenancy-at-sigma)
* [Deploy content to tenant organizations (Beta)](/docs/deploy-content-to-tenant-organizations)
* [Sigma Tenants deployment use cases and examples (Beta)](/docs/deployment-use-cases-and-examples)
* [Deploy content from a parent organization to one or more tenants (Beta)](/docs/deploy-content-from-parent-organization-to-tenant-organizations)
* [Manage content deployed in tenant organizations (Beta)](/docs/manage-deployed-content)