Start Workflow
The Start Workflow task (START_WORKFLOW) starts another workflow from the current workflow. Unlike the Sub Workflow task, the workflow triggered by the Start Workflow task will execute asynchronously. That means the current workflow proceeds to its next task without waiting for the started workflow to complete.
A Start Workflow task is marked as COMPLETED when the requested workflow enters the RUNNING state, regardless of its final state.
Task parameters
Use these parameters inside inputParameters in the Start Workflow task configuration.
| Parameter | Type | Description | Required / Optional |
|---|---|---|---|
| startWorkflow | Map[String, Any] | A map that includes the requested workflow’s configuration, such as the name and version. | Required. |
| startWorkflow.name | String | The name of the workflow to be executed. This workflow should have a pre-existing definition in Conductor. | Required. |
| startWorkflow.version | Integer | The version of the workflow to be executed. If not set, the latest version is used. | Optional. |
| startWorkflow.correlationId | String | A unique identifier for the workflow execution, used to correlate the current workflow instance with other workflows. If not set, the started workflow uses the correlation ID of the current workflow. | Optional. |
| startWorkflow.idempotencyKey | String | A unique, user-generated key to prevent duplicate workflow executions. Idempotency data is retained for the life of the workflow execution. | Optional. |
| startWorkflow.idempotencyStrategy | String | The idempotency strategy for handling duplicate requests. Supported values:
|
Optional. If idempotencyKey is set and no strategy is given, FAIL is used. |
| startWorkflow.input | Map[String, Any] | Defines the input parameters for the workflow being started. These values are passed directly to the invoked workflow. | Optional. |
Task configuration
Here is the task configuration for a Start Workflow task.
{
"name": "start_workflow",
"taskReferenceName": "start_workflow_ref",
"inputParameters": {
"startWorkflow": {
"name": "someName",
"input": {
"someParameter": "someValue",
"anotherParameter": "anotherValue"
},
"version": 1,
"correlationId": ""
}
},
"type": "START_WORKFLOW"
}
Output
The Start Workflow task will return the following parameters.
| Name | Type | Description |
|---|---|---|
| workflowId | String | The workflow execution ID of the started workflow. |
Limitations
Because the Start Workflow task will neither wait for the completion of the started workflow nor pass back its output, it is not possible to access the output of the started workflow from the current workflow. If required, you can use the Sub Workflow task instead.