Expressions let parameters pull values from inputs and upstream node outputs using a concise, Python‑like syntax. They are
written inside { ... } braces and evaluated when a node runs. Every expression must resolve to a value matching the parameter’s type.
Basics
In this case, input refers to the input port named input on the current node.
Referencing an Upstream Node’s Output
Here, NodeA is the ID of an upstream node, and output is the name of its output port.
Referencing Sub-fields
{input.fieldA}
{@NodeB.output.field1}
You can access sub-fields of structured data by chaining field names with dots. Ensure the referenced
field exists to avoid runtime errors.
An expression that resolves to multiple items results in an error. Read more about this in the
Execution flow guide.
Single expression vs Multiple expressions
Suppose a node receives the following object at its input port:
{
"name": "Alice",
"age": 30
}
A single expression like {input.name} extracts just the name field, resulting in the string "Alice".
Similarly, {input.age} would yield the number 30.
On the other hand, if you use multiple expressions in a parameter like so:
"{input.name} is {input.age} years old."
This combines both fields into a single string: "Alice is 30 years old.".
Multiple expressions are always evaluated to strings with each expression replaced by its string representation.
Escaping braces
To include literal in text, escape with a backslash:
"Use \\{braces\\} literally"
Missing node ouputs
Any expression referencing an upstream node that hasn’t run yet will evaluate to None.
Ensure that nodes are executed in the correct order to avoid unexpected None values.