Skip to main content

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.

NodeWhat it serves
Start NodeEntry point of the flow.
End NodeNormal termination.
Agent NodeSends a prompt to an LLM and captures the response.
Script NodeRuns custom JS in a sandbox. The escape hatch + library access.
Assignment NodeSets values into the dictionary without writing JS.
Condition NodeBranches based on a safe expression.
Loop NodeRepeats a section of the flow.

Helpers — composition and parallelism

NodeWhat it serves
Run Flow NodeCalls another flow as a subroutine; returns when it's done.
Jump Flow NodeTransfers control to another flow; doesn't return.
Parallel NodeSplits into N parallel branches.
Parallel Flow NodeFans out a sub-flow per item in a collection.
Parallel Context NodePer-branch data carrier inside parallel work.
Join NodeA 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 flowStart Node
End a flowEnd Node
End early on a guardCondition NodeEnd Node
Call an LLMAgent Node
Run custom JS / use system libsScript Node
Set dictionary values without codeAssignment Node
Branch on a valueCondition Node
Repeat a sectionLoop Node
Reuse a pipelineRun Flow Node
Hand off to another pipelineJump Flow Node
Run N independent things at onceParallel Node
Map a collection through a sub-flowParallel Flow Node
Collect results when parallel work finishesParallel Node (its Assign To) / Parallel Context Node
Reconverge several edges into one continuationJoin Node