Skip to content

Start Workflow

"type" : "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:
  • RETURN_EXISTING: Return the workflowId of the workflow instance with the same idempotency key.
  • FAIL: Start a new workflow instance only if there are no workflow executions with the same idempotency key.
  • FAIL_ON_RUNNING: Start a new workflow instance only if there are no RUNNING or PAUSED workflows with the same idempotency key. Completed workflows can run again.
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.