Workflow parameters: only free-text inputs, and the character restriction is discovered at runtime #23

Open
opened 2026-09-08 20:57:28 -04:00 by jared · 0 comments
Owner

Overview

Parameter definitions support only name/label/required/placeholder and render as text inputs. applyParams() then rejects any value outside [a-zA-Z0-9._:@/-] – spaces, =, , – by throwing, which surfaces as a step_error "Unsafe value for workflow parameter" deep in the execution log after the run has already been created. Nothing in the modal tells the user about the constraint, and there is no default value, select/options, or worker picker type.

Suggested fix

  • Validate params in POST /api/executions and return 400 with the rule before creating an execution; show the rule as helper text and validate client-side.
  • Support type: text|number|select|worker|boolean, default, options.
## Overview Parameter definitions support only `name/label/required/placeholder` and render as text inputs. `applyParams()` then rejects any value outside `[a-zA-Z0-9._:@/-]` – spaces, `=`, `,` – by throwing, which surfaces as a `step_error "Unsafe value for workflow parameter"` deep in the execution log after the run has already been created. Nothing in the modal tells the user about the constraint, and there is no default value, select/options, or worker picker type. ## Suggested fix - Validate params in `POST /api/executions` and return 400 with the rule before creating an execution; show the rule as helper text and validate client-side. - Support `type: text|number|select|worker|boolean`, `default`, `options`.
jared added the enhancementuxfrontendworkflow-enginepriority/medium labels 2026-09-08 20:57:28 -04:00
Sign in to join this conversation.