Before you start
Typed parameters, Calculated field templates and Workflow JSON conditions are different mechanisms. None turns arbitrary text into executable code. Define types and scope before adding overrides. Use synthetic values and never place secrets in text parameters.
Supported types are string, integer, number, boolean, datetime, json and secret. A sensitive parameter must use secret with a valid protected reference, rather than cleartext marked sensitive.
Procedure
- Declare a parameter with a unique name, type and constraints. Up to 100 definitions are allowed. Names start with a letter, have at most 64 characters and allow letters, numbers, dots, hyphens and underscores.
sys.anddova.are reserved. - Review
required,overridable,scopes, default and constraints. Boolean requires JSONtrue/false, not equivalent-looking text. Numbers must be finite. - Check layer resolution: default → global → environment → worker → task. A later permitted layer replaces an earlier one without overriding scope restrictions.
- For derived text use
${name}and${param.region}. Output is text up to 4,000 characters; a recognized missing identifier becomes empty text. - For branching, use a JSON condition with authorized references, not a SQL formula.
Synthetic example
Calculated field template:
{
"field": "label",
"template": "${name}-${param.region}"
}
With name=Ana and parameter region=NORTH, output is Ana-NORTH. It does not add numbers or extract a first letter.
A Decision True condition:
{
"ref": "parameters.RUN_MODE",
"op": "eq",
"value": "full"
}
Declare RUN_MODE before using it. Run separate attempts with full and sample; review the complementary False branch shown in the interface.
Verify the result
Condition references support parameters.name, variables.name, tasks.id.status and tasks.id.outputs.name. Use actual task identifiers and documented outputs; do not invent a universal row counter. Operators are eq, ne, gt, gte, lt, lte, in, not_in, contains, exists, truthy. Groups all/any combine 1–20 expressions; not negates one expression.
Confirm values and provenance in authorized preview. Then check the selected branch in Monitor. Incompatible comparison types do not promise automatic conversion.
Troubleshooting
If an override has no effect, inspect scope, Overridable and source layer. For empty template output, check the field or parameter name. Dotted names do not provide general navigation through nested objects. Condition trees reject depth over five, more than 40 nodes and comparison values over 4,096 bytes. Missing references make ordinary comparisons false. Correct the contract rather than weakening restrictions to accept an unauthorized value.
Runtime operational variables
Open Sessions → Session → Runtime → Available runtime variables for available tokens, meanings, examples and the last authorized resolved value. %RUN_TIMESTAMP% contributes to the output filename when Target filename timestamp is effectively Enabled. The form example is a preview; the actual value belongs to an attempt ID and date. These operational variables do not replace ${field} or permit arbitrary code. Sensitive parameters remain masked.