Node Reference
Every node type the Keen flow builder offers, what it serves, and when to use it.
The builder exposes 13 node types, grouped into Constructal (the building blocks) and Helpers (composition + parallelism): startNode, endNode, assignmentNode, conditionNode, loopNode, scriptNode, agentNode, runFlowNode, jumpFlowNode, parallelInNode (Parallel), parallelFlowNode, parallelContextNode, and joinNode. A flow terminates at a single End Node — there is no separate "Stop" or "Exit" node.
Constructal — the building blocks
These are the nodes you'll use in almost every flow.
| Node | What it serves |
|---|---|
| Start Node | Entry point of the flow. |
| End Node | Normal termination. |
| Agent Node | Sends a prompt to an LLM and captures the response. |
| Script Node | Runs custom JS in a sandbox. The escape hatch + library access. |
| Assignment Node | Sets values into the dictionary without writing JS. |
| Condition Node | Branches based on a safe expression. |
| Loop Node | Repeats a section of the flow. |
Helpers — composition and parallelism
| Node | What it serves |
|---|---|
| Run Flow Node | Calls another flow as a subroutine; returns when it's done. |
| Jump Flow Node | Transfers control to another flow; doesn't return. |
| Parallel Node | Splits into N parallel branches. |
| Parallel Flow Node | Fans out a sub-flow per item in a collection. |
| Parallel Context Node | Per-branch data carrier inside parallel work. |
| Join Node | A pass-through merge point where several edges reconverge. Not a barrier — it does not wait. |
Terminating a flow
A flow ends in one of two ways: it reaches an End Node, or a branch's output dot has no connection (a dangling edge ends that branch). There is a single terminator — the End Node. Earlier builds documented separate Stop and Exit nodes; those have been removed, and any guard / early-exit logic is expressed with a Condition Node routing into an End Node.
Picking the right node — quick guide
| If you need to… | Use |
|---|---|
| Start a flow | Start Node |
| End a flow | End Node |
| End early on a guard | Condition Node → End Node |
| Call an LLM | Agent Node |
| Run custom JS / use system libs | Script Node |
| Set dictionary values without code | Assignment Node |
| Branch on a value | Condition Node |
| Repeat a section | Loop Node |
| Reuse a pipeline | Run Flow Node |
| Hand off to another pipeline | Jump Flow Node |
| Run N independent things at once | Parallel Node |
| Map a collection through a sub-flow | Parallel Flow Node |
| Collect results when parallel work finishes | Parallel Node (its Assign To) / Parallel Context Node |
| Reconverge several edges into one continuation | Join Node |