Duplicate Tenant

Use this step to create a new user from an existing tenant.

Last published at: September 10th, 2025

CreateTenantFromTenant Step

Description:

The Duplicate Tenant workflow step belongs to the Tenants category in FlowWright. Its internal name is clscreatetenantfromtenant, its label is Create new tenant from existing tenant, and its display name is Duplicate Tenant. The step uses the FlowWright.Workflow.ClsCreateTenantFromTenant namespace and FlowWright.Workflow.dll. It is defined as a Process step with two input connections and two output connections.

The step creates a new tenant using an existing tenant as the source. It requires a Tenant Manager connection, a name for the new tenant, a database name for the new tenant, the source tenant to copy from, and a Variable/Global to store the resulting tenant ID.

The step supports:

  • Tenant creation from an existing tenant
  • Selection of a Tenant Manager connection
  • Specification of the new tenant name
  • Specification of the new tenant database name
  • Selection of an existing source tenant
  • Storage of the newly created tenant ID
  • True/False workflow branching 

This step can be used for:

  • New customer tenant provisioning
  • Creating tenants from a standard template tenant
  • Environment or customer onboarding
  • Rapid tenant setup
  • Tenant cloning
  • Automated multi-tenant provisioning
  • Creating tenant environments as part of a larger onboarding workflow
  • Continuing tenant-specific configuration after creation

 

Inputs

  • Select Tenant manager connection – Selects the Tenant Manager connection used for the tenant operation.
  • Tenant name – Specifies the name of the new tenant.
  • Tenant database name – Specifies the name of the new tenant's database.
  • Select source Tenant – Selects the existing tenant to use as the source for duplication.
  • Variable/Global to hold the tenant ID -- Stores the ID of the newly created tenant.
 

   

Returns

  • True – Tenant duplication operation completed successfully.
  • False - Tenant duplication operation did not complete successfully.
 

 

Usage:

The Duplicate Tenant step is typically placed in a workflow that provisions a new tenant from an existing one.

A common workflow pattern is:

 

The newly generated tenant ID can be stored in a Variable/Global and passed to subsequent tenant-specific operations.

This makes the step particularly useful for tenant provisioning, rather than merely for naming or information generation.

 

Example:

Let’s build and execute the “CreateNewTenantFromExistingTenantDef” example.  

  • Create a new definition named “CreateNewTenantFromExistingTenantDef” and open it in designer mode.
  • Drag a "clsCreateTenantFromTenant" step to the canvas.
  • Connect the dots between the "Start" and "clsCreateTenantFromTenant" steps, as shown above. 
  • Define a variable or a global to store the result.
  • Click the "clsCreateTenantFromTenant" step to configure its "Required" properties. Provide a name for the step. Select the tenant manager connection string from the drop-down list. Enter the target tenant's name and database information. Select the source tenant from the drop-down list. Provide a variable or global to store the duplicate tenant's GUID. Click the Save button. Note: Click the "AI Predict" button for the Copilot to add new process steps that match your process description. 

 

  • The “Logging” configuration is necessary for documentation and also measures workflow progress and percent complete. This is achieved by configuring the step state and percent fields individually, as shown below. Configure the “Logging” using the following properties.

 

  • Save the Process Definition, create a new Process Instance, and execute it. When the workflow reaches the Duplicate Tenant step, FlowWright uses the selected Tenant Manager connection and source tenant, along with the configured new tenant name and database name, to perform the tenant duplication operation. If successful, the new tenant ID is stored in the configured Variable/Global, and the workflow follows the True path. If the operation fails, the workflow follows the False path.

 

Tips:

  • Configure the Tenant Manager connection before using the step.
  • Verify that the selected source tenant exists and is the intended template.
  • Use a clear and unique Tenant name.
  • Use a database name that follows the naming conventions of the target environment.
  • Ensure the destination database name does not conflict with an existing tenant database.
  • Store the resulting tenant ID in a meaningful Variable/Global such as NewTenantID.
  • Consider generating the tenant name before invoking this step when tenant names are dynamic.
  • Consider generating the database name separately when the database name must follow an organizational convention.
  • Use the True and False paths to distinguish successful tenant provisioning from failure handling.
  • Follow tenant creation with the additional configuration required by your customer onboarding process.
  • Test the duplication process with a representative source tenant before using it in production.
  • Be deliberate about the source tenant's contents and configuration, as the purpose of this step is to create a new tenant from an existing one.
  • Keep environment-specific tenant and database naming rules documented so that automated provisioning remains predictable.

 

Notes:

  • Category: Tenants. 
  • Internal name: clscreatetenantfromtenant
  • Label: Create new tenant from existing tenant. 
  • Display name: Duplicate Tenant. 
  • Namespace: FlowWright.Workflow.ClsCreateTenantFromTenant
  • DLL: FlowWright.Workflow.dll
  • Step definition type: Process. 
  • Input connections: 2. 
  • Output connections: 2. 
  • Tenant Manager connection: Required. 
  • Tenant name: Required. 
  • Tenant database name: Required. 
  • Source tenant: Required. 
  • Tenant ID Variable/Global: Required. 
  • Returns: True and False.

 

Duplicate Tenant vs. Generate Tenant Name:

The two steps are closely related because both are Tenant category Process steps and can participate in tenant-provisioning workflows, but they perform fundamentally different operations.

The Generate Tenant Name step has three properties:

  • Tenant Manager connection — required
  • Tenant name — optional
  • Variable/Global to hold the Tenant name — required

and provides True/False paths.

The Duplicate Tenant step has five required properties:

  • Tenant Manager connection
  • Tenant name
  • Tenant database name
  • Source tenant
  • Variable/Global to hold the tenant ID
Feature Duplicate Tenant Generate Tenant Name
Internal name clscreatetenantfromtenant clsgeneratehostname
Display name Duplicate Tenant Generate tenant name
Category Tenants Tenants
Step type Process Process
Inputs 5 properties 3 properties
Tenant Manager connection Required Required
Tenant name input Required Optional
Database name Required Not exposed
Source tenant Required Not exposed
Output New tenant ID Generated tenant name
Output Variable/Global Required Required
True/False paths Yes Yes
Creates a tenant Yes No
Generates tenant name No Yes

 

When to Use Duplicate Tenant.

Use Duplicate Tenant when you need to create a new tenant from an existing one. This is the appropriate step for tenant provisioning.

When to Use Generate Tenant Name.

Use Generate Tenant Name when the workflow needs to generate or obtain a tenant name but is not yet performing the tenant-creation operation. The generated tenant name can then become an input to the Duplicate Tenant operation.

 

Definition Sample:

You may download the sample definition(s) from the link provided and later import them into the FlowWright Process Definition (XML file) page.

Note: Verify and complete any missing configuration after importing the sample, including:

  • Tenant Manager connection
  • New tenant name
  • Tenant database name
  • Source tenant
  • Tenant ID Variable/Global
  • Environment-specific tenant configuration
  • Workflow connections

After verifying the configuration, save the Process Definition before execution.

This follows the structure of the existing Classify AI documentation, which asks users to verify required configuration and environment-specific settings after importing a sample and to save the Process Definition before execution.

Click here to download the sample file.