Set Fallback (the value to output when nothing is active) and Mode: Prioritize Top → Bottom, Prioritize Bottom → Top, Recent Change Has Priority, or Oldest Change Has Priority. Use Add Input to add a boolean trigger, then select its row to set the Id it reports downstream and an optional Label shown only on the card, arranging entries in priority order for the two top/bottom modes.
Wire an emergency override, a manual control, and an automatic default into three inputs in that priority order, so Value always reports whichever one is genuinely in control right now.
Choose the operation and supply the two values on the card or through connected inputs. A non-numeric connected value converts through Number(...): a value that doesn't parse as a number produces a NaN result rather than an error, and dividing by 0 produces Infinity/-Infinity rather than an error.
Set Min and Max: Min must be less than or equal to Max, or the card shows a real validation error on the Max field. Then supply the value to limit. The card shows the result. A non-numeric connected Value converts through Number(...); when that produces NaN, Result is NaN rather than being pinned to Min or Max.
Choose the operator and supply Value A and Value B. The dropdown offers three groups: comparison (==, !=, >, <, >=, <=, ===, !==: note ==/!= are loose equality while ===/!== are strict), boolean logic (AND, OR, XOR), and the unary NOT. Choosing NOT hides the Value B field and handle entirely, since it only evaluates Value A.
Select and Default are connection-only inputs, not fields you type into on the card: feed them from another node such as a Static Value. Use Add Case to set When, the case value compared against Select, and an optional description. The Result output's own label updates live to show which case matched (Case N), or Default or No Match when none did.
Enter the value directly on the node. A small type toggle attached to the field switches between String, Number, and Boolean: switching type tries to convert the current value ("42" becomes the number 42; "true" becomes the boolean true, matched case-insensitively) and falls back to that type's default (0 or false) when it can't. Any other text is a valid string.
The card itself only shows the configured inputs and outputs: Add Input, Add Column, and the Mappings table aren't on the card at all. Select the node to open its Configuration panel, which is where this node is actually built:
Use Add Input to define one or more named inputs, each set to handle type State (evaluated continuously as its value changes) or Event (evaluated only when an event arrives on it). Use Add Column to define one or more named output columns, each with a value type of Text, Number, or Boolean.
Build the Mappings table: each row's When input is cell is matched against an input's value as text; the row's cells under each column supply that column's value when it matches. The final otherwise row is the Default used when no row matches. Only the first row matching a given value is used: the table flags duplicate When input is values with a warning.
Every input is looked up independently against the same mapping table. Each input/column pair gets its own output, so with two inputs and three columns the node exposes six outputs in total.
Map a connection's numbered preset state through one State input and three columns (label, color, enabled) to drive a button's display, instead of chaining several Case Switch nodes.
The +/− buttons on the card increase or decrease the count by one directly, and clicking the displayed count lets you type a new one: both act the same as connecting to Increase One/Decrease One/Set. Reset, Increase Amount, and Decrease Amount have no card control at all; connect an event to them from another node. Increase Amount and Decrease Amount need that event to carry a numeric payload, not just a trigger.
Press Press on the node card to fire it. The card shows the latest timestamp. Press stays disabled, with a tooltip explaining why, until the workflow has been applied at least once after the node was added.
See Sequence a timed automation for a full walkthrough combining Delay, Interval, Scheduler, Countdown, and Stopwatch, including what each remembers across a reload or restart.
Toggle looping on the card, and use its controls to start, pause, reset, restart, or directly set the displayed time. Initial Duration is not a field you type into on the card: it's a connection input, fed from another node such as a Static Value. The displayed time always updates every 100ms and never shows milliseconds; neither is currently configurable from the UI.
Use the card controls to start, pause, reset, or set elapsed time, and toggle Run on startup to have a fresh node start counting on its own. The displayed time always updates every 100ms and never shows milliseconds; neither is currently configurable from the UI.
Set Mode: Reset restarts the sequence from Event 1 if an out-of-order event arrives; Wait ignores it and keeps waiting for the same expected event instead. Set Inputs (2–20) to change how many numbered event handles the card shows.
Choose Control Mode: State or Event, and set an optional Fallback.
In State mode, Open State is a switch you can click directly, or a connection target: feed it a value instead of clicking it to derive the gate's state from elsewhere. In Event mode, connect Set Open, Set Closed, Toggle, or Reset from another node's event output instead, and set Initially Open for its starting state.
In State mode, Open is a switch you can click directly, or a connection target: feed it a value instead of clicking it to derive the gate's state from elsewhere. In Event mode, connect Set Open, Set Closed, Toggle, or Reset from another node's event output instead, and set Initially Open for its starting state.
Connect a value to Value and an event to Trigger. Each time Trigger fires, the node captures whatever Value currently holds, publishes it on Out, and keeps it as the card's held value until the next trigger.
There's no control to choose: the card detects and labels the connected value's type on its own (String, Number, Boolean, or Object; an unconnected input just reads undefined). A string, number, or boolean renders as a large plain value; an object or array renders as a collapsible JSON tree instead. Before the workflow is applied at least once, the card shows Apply to activate in place of any value.
Enter the expression. Use Add Input to give each input a unique Name (letters and numbers only, must start with a letter, and unique among the node's inputs: the field turns red with an inline message otherwise) and optional description, then refer to it as $(name) in the expression. A malformed expression underlines the error inline and turns the whole node's border red; an empty expression fails with Expression is empty.
Two variables are always available without adding an input: $(self.label)/$(self.id) for this node's own label and id, and $(time.hh:mm:ss)/$(time.hh)/$(time.mm)/$(time.ss) for the current time.