clsGenerateTenantName Step
Description:
The Generate tenant name step belongs to the Tenants category in FlowWright. Its XML definition identifies the step as clsgeneratehostname, with the label “Generate tenant name” and display name “Generate tenant name.” The step uses the FlowWright.Workflow.ClsGenerateHostName namespace and FlowWright.Workflow.dll. It is defined as a Process step with two input connections and two output connections.
The step uses a configured Tenant manager connection to generate a tenant name. An optional Tenant name value can be supplied, and the resulting tenant name is stored in a specified Variable/Global. The XML exposes these three properties.
Typical uses include:
- Generating a tenant name during tenant-related workflows
- Creating a tenant name before subsequent tenant operations
- Storing a generated tenant name in a workflow variable
- Storing the tenant name in a global variable for subsequent processing
- Passing a tenant name between tenant-management workflow steps
- Building automated tenant provisioning workflows
- Supporting multi-tenant administration processes
- Using a generated tenant name as input to subsequent workflow operations
The step provides True and False execution paths so the workflow can branch based on the outcome of the operation.
Inputs
- Select Tenant manager connection – Specifies the Tenant Manager connection to use.
- Tenant name – Provides the tenant name value used by the step.
- Variable/Global to hold the Tenant name - Specifies the workflow variable or global variable in which the tenant name is stored.
Returns
- True - Successful execution path.
- False - Unsuccessful execution path.
Usage:
The Generate tenant name step is typically used as part of a tenant-management workflow where a tenant name needs to be generated or established before additional tenant operations are performed.
A typical workflow might be:

The step obtains the configured Tenant Manager connection, processes the tenant-name input, and places the resulting tenant name into the specified Variable/Global. The resulting value can then be consumed by subsequent workflow steps.
The XML specifically identifies the output destination through the Variable/Global to hold the Tenant name property.
Example:
Let’s build and execute the “clsGenerateHostNameDef” example.
- Create a new definition called “clsGenerateHostNameDef” and open the definition in designer mode.
- Drag a “clsGenerateTenantName” step to the canvas.
- Connect the dots between the “Start” and “clsGenerateTenantName” steps as shown above.
- Define a variable or a global variable to store the tenant name.
- Click the "clsGenerateTenantName" step to configure its "Required" properties. Provide a name for the step. Select the tenant manager connection string from the drop-down list. Specify the variable or global reference to store the tenant name. Click the Save button. Note: Click the "AI Predict" button to have Copilot add new process steps that match your process description.

- Click the "clsGenerateTenantName" step to configure its "Optional" properties. Optionally, provide a custom tenant name. Click the Save button.

- 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 instance, and execute it. The process step should return the tenant name as configured.
Tips:
- Always configure the required Select Tenant manager connection property.
- Always configure Variable/Global to hold the Tenant name so the resulting value has a defined workflow destination.
- Tenant name is optional according to the XML definition.
- Select the Tenant Manager connection appropriate for the environment.
- Use a clearly named Variable/Global when the tenant name will be consumed by several downstream steps.
- Generate the tenant name before tenant operations that require the value.
- Use the True path for normal continuation and the False path for appropriate error handling.
- Keep tenant-related workflow operations logically grouped so the generated tenant name can be reused.
- Verify that the configured Tenant Manager connection is available before executing the workflow.
- When testing, verify that the expected tenant name is present in the configured Variable/Global after the step executes.
Notes:
- Category: Tenants.
-
Internal name:
clsgeneratehostname. - Label: Generate tenant name.
- Display name: Generate tenant name.
-
Namespace:
FlowWright.Workflow.ClsGenerateHostName. -
DLL:
FlowWright.Workflow.dll. - Step definition type: Process.
- Input connections: 2.
- Output connections: 2.
- Select Tenant manager connection: Required.
- Tenant name: Optional.
- Variable/Global to hold the Tenant name: Required.
- The Tenant Manager connection uses the
selectConnectStringdata type. - The tenant name and Variable/Global properties use the
stringdata type. - The
selectConnectStringproperty type is supplied byFlowWright.DataTypes.dlland is described as “Get connection strings list.” - The string property type is supplied by
FlowWright.DataTypes.dlland is described as “Get textbox.” - The step provides True and False return paths.
- The XML does not expose additional configurable properties such as retry count, timeout, formatting, or transaction settings.
clsGenerateHostname vs. clsGenerateTenantActivity:
Both steps belong to the Tenants category and are Process steps with two input and two output connections. However, they perform different tenant-management functions.
| Feature | clsGenerateHostname | clsGenerateTenantActivity |
|---|---|---|
| Category | Tenants | Tenants |
| Purpose | Generate tenant name | Generate tenant activity report |
| Internal name | clsgeneratehostname |
clsgeneratetenantactivity |
| Display name | Generate tenant name | Tenant Activity |
| Label | Generate tenant name | Generate tenant activity report |
| Namespace | FlowWright.Workflow.ClsGenerateHostName |
FlowWright.Workflow.ClsGenerateTenantActivity |
| DLL | FlowWright.Workflow.dll |
FlowWright.Workflow.dll |
| Step type | Process | Process |
| Input connections | 2 | 2 |
| Output connections | 2 | 2 |
| Tenant Manager connection | Required | Required |
| Tenant name input | Optional | Not available |
| Output Variable/Global | Tenant name | Activity report |
| True path | Yes | Yes |
| False path | Yes | Yes |
When to Use clsGenerateHostname
Use clsGenerateHostname when the workflow needs to establish or generate a tenant name and make that value available to subsequent workflow steps. Its output is specifically intended to be held in the configured Variable/Global.
Its output is specifically intended to be held in the configured Variable/Global.
When to Use clsGenerateTenantActivity
Use clsGenerateTenantActivity when the workflow needs to generate a tenant activity report and store the resulting report in a Variable/Global. Its XML explicitly labels the step “Generate tenant activity report” and defines the output as Variable/Global to store the report.
Key Distinction
The simplest way to distinguish the two steps is:
clsGenerateHostname: Generate or establish a tenant name and store it in a Variable/Global.
clsGenerateTenantActivity: Generate a tenant activity report and store the report in a Variable/Global.
The two steps share the same Tenant Manager connection model and True/False execution pattern, but their outputs serve different purposes. clsGenerateHostname Additionally exposes an optional Tenant name input, while clsGenerateTenantActivity has no equivalent tenant-name property.
Definition Sample:
You may download the sample definition and later import it by drag-and-drop into the FlowWright Process Definition (XML file) page.
After importing the sample, verify and complete any environment-specific configuration, particularly:
- Tenant Manager connection
- Tenant name, if required
- Variable/Global destination
- Subsequent tenant-management steps
After verifying the configuration, save the definition before executing the process.
This follows the structure used by the ExecuteSQL documentation, which instructs users to import the sample definition, complete missing configuration, save the definition, create a Process Instance, and execute it.
Click here to download the sample file.