Description:
The Test Tenant workflow step is an Engine step that tests the readiness of a tenant database.
The step supports:
- Selecting a Tenant Manager connection.
- Specifying a tenant name or ID.
- Storing a resulting message in a Variable or Global variable.
- Using the test result to control subsequent workflow processing.
- Continuing through the True or False return path.
Inputs
-
TnConnection – The
tnconnectionproperty specifies the Tenant Manager connection to use for the tenant test. - TnNameID – Tenant/Host Name or ID
-
Message – The
messageproperty specifies the Variable or Global variable in which the resulting message is stored.
Returns
- True – The True return path can be connected to the workflow activity that should execute when the tenant test succeeds.
- False – The False return path can be connected to an alternative or error-handling workflow path.
Usage:
The Test Tenant step is typically placed before workflow activities that depend on a tenant database being ready.
The workflow supplies the Tenant Manager connection and tenant name or ID. The step performs the tenant test and stores a message in the configured Variable or Global variable.
A typical workflow pattern is:
Select Tenant → Test Tenant → Continue or Handle Failure
For example:
Start
↓
Test Tenant
↙ ↘
True False
↓ ↓
Process Handle
Tenant Problem
Typical Workflow Suggestions:
Test Tenant Before Starting Processing
Use Test Tenant before activities that depend on the tenant database.
Example:
Start
↓
Test Tenant
↓ True
Start Tenant Processing
Validate Tenant Before Data Processing
Use the step before a workflow begins tenant-specific data processing.
Example:
Identify Tenant
↓
Test Tenant
↙ ↘
True False
↓ ↓
Process Handle
Data Failure
Test a Tenant Selected from Workflow Data
Use workflow data to identify which tenant should be tested.
Example:
Get Tenant Information
↓
Test Tenant
↓
Tenant Processing
Store the Tenant Test Message
Use Variable/Global to hold the message when subsequent workflow activities need access to the message produced by the tenant test.
Example:
Test Tenant
↓
Store Message
↓
Log / Notify / Processvariable.TenantTestMessageThe XML explicitly provides this property for storing the message.
Notify an Administrator When the Tenant Test Fails
Use the False path to notify an administrator when the tenant test does not succeed.
Example:
Test Tenant
↙ ↘
True False
↓ ↓
Continue Notify
Administrator
Log the Tenant Test Result
Use the message Variable or Global in a subsequent logging activity.
Example:
Test Tenant
↓
Store Message
↓
Log Tenant Result
Test Multiple Tenants
Use multiple Test Tenant activities when a workflow needs to process several known tenants.
Example:
Tenant A
↓
Test Tenant
↓
Process Tenant A
Tenant B
↓
Test Tenant
↓
Process Tenant BThe XML supports selecting the tenant through the required Tenant name or ID property.
Use Different Tenant Manager Connections
Use the Select Tenant Manager Connection property when different workflow environments or tenant groups use different configured Tenant Manager connections.
Example:
Determine Environment
↓
Select Tenant Manager Connection
↓
Test TenantselectConnectString data type.
Route Processing Based on Tenant Readiness
Use the True and False paths to determine whether tenant-specific processing should proceed.
Example:
┌→ Tenant Processing
│
Test Tenant ─┤ True
│
└→ False → Retry / Notify / Stop
Test Tenant Before a Scheduled Process
Use Test Tenant at the beginning of a scheduled tenant-specific workflow.
Example:
Scheduled Start
↓
Test Tenant
↙ ↘
True False
↓ ↓
Process Handle
Scheduled Unavailable
Work
Test Tenant Before Integration Processing
Use Test Tenant before activities that depend on tenant-specific database access.
Example:
Start Integration
↓
Test Tenant
↓ True
Integration Processing
Preserve the Test Message for Multiple Activities
Store the test message in a Variable or Global so that multiple subsequent activities can use it.
Example:
Test Tenant
↓
TenantTestMessage
↙ ↘
Log Notify
Example:
Let’s build and execute the “clsTenantTestDef” example.
- Create a new process definition named “clsTenantTestDef” and open it in designer mode.
- Drag a "clsTenantTest" step to the canvas.
- Connect the dots between the “Start” and “clsTenantTest” steps, as shown above.
- Select the line between the steps to configure the “Connection Properties”. The default property values are “None, True, False, Error, and Evaluate”. Depending on the step’s purpose, you can configure additional values.
- Define a variable or a global to store the result.
- Click the "clsTenantTest" step to configure its "Required" properties. Provide a name for the step. Select the connection string. Enter the Tenant Name or GUID value. Specify a variable or a global to store the message after execution. Click the Save button. Note: Click the "AI Predict" button to have Copilot add new process steps that match your process description.

- The “Logging” configuration is necessary for documentation and also measures workflow progress and percent complete. Configure the step state and percent fields individually, as shown in the images below. Configure the “Logging” using the following properties.

- Save the process definition, create a new instance, and execute it. Render the process instance and click the process step to view its properties. When the workflow reaches the Test Tenant step, verify that:
- The correct Tenant Manager connection is selected.
- The intended tenant name or ID is supplied.
- The message Variable or Global is configured.
- The expected message is stored.
- The workflow follows the expected True or False path.
- The subsequent workflow activity executes as expected.
Tips:
- Select the correct Tenant Manager connection.
- Provide the intended Tenant name or ID.
- Configure a meaningful Variable or Global for Variable/Global to hold the message.
- Verify that the selected Tenant Manager connection is appropriate for the workflow environment.
- Test the step using a known tenant before deploying the workflow.
- Test both the True and False workflow paths.
- Verify the stored message after the step executes.
- Use a meaningful Variable or Global name such as
TenantTestMessage. - Connect the False path to appropriate error handling, notification, or alternate processing.
- Connect the True path to the tenant-dependent processing that should proceed after the test.
- Test the workflow with different tenant identifiers where applicable.
- Test the workflow when the tenant is not ready or cannot be accessed.
- Verify that the tenant name or ID corresponds to the intended tenant.
- Keep Tenant Manager connection configuration consistent across environments.
- Avoid hard-coding environment-specific connection information when the workflow is intended for multiple environments.
- Test the workflow after changing the selected Tenant Manager connection.
- Test the workflow after changing the tenant name or ID.
- Verify the message Variable or Global before using it in downstream activities.
- Use the stored message when logging or notifying users, where appropriate.
- Do not assume the exact message format without confirming the FlowWright runtime implementation.
- Do not assume the precise conditions that cause the step to return True or False beyond the XML's description of testing whether the tenant DB is ready.
- Consider documenting the expected tenant readiness behavior for workflows that depend on this step.
Definition Sample:
You may download the sample definition(s) from the link provided and later import them (drag-and-drop) into your FlowWright Process Definition (XML file) or Form Definition (HTML file) page.
Before executing the imported definition, verify:
- Select Tenant Manager connection
- Tenant name or ID
- Variable/Global to hold the message
- Workflow Variable references
- Environment-specific connection configuration
- Downstream True workflow path
- Downstream False workflow path
- Expected tenant identifier
- Expected message destination
After verifying the configuration, save the Process Definition before execution.