State

Remembers a value between runs: counters, "already handled" marks, pagination cursors. Atomic, no external database needed.

Fields

FieldTypeRequiredWhat it does
operationstringyesget reads, set writes, increment adds a number, setIfAbsent writes only when the key is empty and reports whether it did (dedup), delete removes the key.
keystringyesThe key, may contain {{expressions}}: "order:{{outputs.incoming.body.id}}" or "cursor". At most 256 characters.
valuestringFor set and setIfAbsent. May contain {{expressions}}; valid JSON is stored as JSON, anything else as text. At most 64 KB.
bynumberFor increment: how much to add, 1 by default, may be negative.
scopestringflow (default): the key lives with this flow. account: shared by every flow of the account.

Output

key, operation, value, previous, existed, stored, scope

Notes

Dedup pattern: State setIfAbsent with key "order:{{outputs.incoming.body.id}}" and value "1", then Condition on outputs.<id>.stored — true means first time seen. A cursor pattern: State get "cursor" → HttpRequest with the cursor → State set "cursor" with the new one. Up to 1000 keys per flow; writes are treated as side effects in a dry run and are answered from history instead.