Skip to content

Support multiple input payloads in Start Workflow UI #3335

@cvasq

Description

@cvasq

Is your feature request related to a problem? Please describe.

The Temporal CLI supports passing multiple --input flags when executing a workflow:

temporal workflow execute \
  --workflow-id="my-workflow" \
  --type=MyWorkflow \
  --input="$FIRST_PAYLOAD" \
  --input="$SECOND_PAYLOAD" \
  --task-queue="my-task-queue"

This maps to workflow functions that accept multiple positional arguments, e.g.:

func MyWorkflow(ctx workflow.Context, conn ConnectionConfig, backup BackupConfig) error

However, the Web UI only provides a single input text box and displays the message "only single JSON payload supported." This means workflows that require multiple input arguments cannot be started from the UI, forcing users back to the CLI.

Describe the solution you'd like

The "Start Workflow" / "Execute Workflow" form in the UI should support multiple JSON input payloads, matching the CLI's capability. This could look like:

  • An "Add input" button that appends additional input fields
  • Each input field represents one positional argument to the workflow function
  • The payloads are sent as separate entries in the input array, not as a single merged object

Describe alternatives you've considered

  • Wrapping multiple arguments into a single struct/object — this works but requires changing the workflow function signature just to accommodate a UI limitation, which isn't ideal.
  • Using the CLI exclusively — functional, but defeats the purpose of having the UI for ad-hoc workflow execution and makes it less accessible to team members who prefer a visual interface.

Additional context

Supporting multiple inputs in the UI would bring it to parity with the CLI and make the Web UI viable for starting a much wider range of workflows.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions