conductor-oss / conductor-oss/java-sdk

START_WORKFLOW task: missing builder class

Open Beginner friendly
#131 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
12
Forks
10
Avg merge
2d 8h
Merged PRs (30d)
4

Description

## Summary

`TaskType.START_WORKFLOW` exists in the SDK enum but there is no `StartWorkflow`
builder class in `conductor-client/…/def/tasks/`. A file named `StartWorkflow.java`
exists only in `examples/old/` and is an example runner, not a task builder.

Users cannot create a START_WORKFLOW task using the fluent SDK API.

## Server baseline

Conductor **3.32.0-rc.9**

## Evidence

**Static:** No `StartWorkflow` builder class under `conductor-client/…/def/tasks/`.

**Live (2026-07-16):** A raw `WorkflowTask` with `"type": "START_WORKFLOW"` and
`inputParameters.startWorkflow = { "name": "…", "version": 1, "input": {} }` was
registered and executed against Conductor OSS 3.32.0-rc.9. The workflow completed
successfully — gap is SDK-only.

## Expected behaviour

```java
new StartWorkflow("fire_child", "child_workflow_name")
.version(1)
.workflowInput(Map.of("key", "value"))
```

## Proposed fix

```java
public class StartWorkflow extends Task {
private final String workflowName;
private Integer version;
private Map workflowInput = new HashMap<>();

public StartWorkflow(String taskReferenceName, String workflowName) {
super(taskReferenceName, TaskType.START_WORKFLOW);
this.workflowName = workflowName;
}

public StartWorkflow version(int version) {
this.version = version;
return this;
}

public StartWorkflow workflowInput(Map input) {
this.workflowInput = input;
return this;
}

@Override
protected void updateWorkflowTask(WorkflowTask task) {
Map startWorkflow = new HashMap<>();
startWorkflow.put("name", workflowName);
if (version != null) startWorkflow.put("version", version);
startWorkflow.put("input", workflowInput);
task.getInputParameters().put("startWorkflow", startWorkflow);
}
}
```

## Related

Discovered during systematic SDK audit against Conductor OSS 3.32.0-rc.9.

Contributor guide

Open the contributing guide

Research direction

Start by comparing existing builders in conductor-client/…/def/tasks/ and reading the Task and WorkflowTask APIs. Add StartWorkflow.java with the fluent behavior shown in the issue, then verify the documented example produces inputParameters.startWorkflow and run the SDK’s existing tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
85/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.