Assignment Node
The Assignment Node sets values into the dictionary without writing a Script Node. It's the cheapest, most readable way to seed or update flow state.
What it serves
Each row in the node's settings is a key = value write into the per-flow dictionary. Use it when the only thing you need is to put data into the dictionary so downstream nodes can read it.
When to use it
- Initialize dictionary keys at the start of a flow.
- Copy values around (e.g. flatten a nested agent response into a top-level dictionary key for a Condition Node to test).
- Set defaults before a Script Node or Agent Node runs.
If you'd otherwise write a one-line Script Node like dictionary.x = y, use an Assignment Node instead.
Connections
- One input, one output.
Settings
A repeater of key / value pairs. Each pair sets dictionary.<key> = <value>.
Values support template expansion the same way Script Node props do:
${dictionary.test} ← reads dictionary.test
${dictionary.user.email} ← reads nested
"hello" ← literal string
${Array([1, 2, true, null])} ← the Array() operator — produces a real array
Each value is type-gated to string / number / boolean / array (via
evaluateValue). An object or other disallowed type resolves tonullsilently — if you need an object, build it in a Script Node. (${Array([...])}accepts only literal elements.)
The dictionary is size-capped at 1.5 MB (
DICT_MAX_BYTES). An over-cap write is rejected at commit time, throwing and failing the node — so keep large blobs out of the dictionary.
Compiled JSON shape
{
"assignmentNode_Jh0KW15H45bk-Wo4WFxgGAeyjKj9Y6dW": {
"next_1": ["scriptNode_..."],
"data": {
"settings": {
"keyValuePairs": [
{ "key": "test", "value": "555" },
{ "key": "check", "value": "${dictionary.test}" }
]
}
}
}
}