Documentation/ Node reference

Node catalog

Small pieces for serious workflows.

Knodr ships with 32 executable nodes and five live trigger sources. Connect typed ports on the canvas, or use the stable type IDs below when authoring through MCP.

32 executable nodes 5 trigger sources 1 shared flow format

01 / HOW TO READ THIS PAGE

Names for humans. Type IDs for tools.

The UI shows a display name such as Run Shell Command. A .knodrflow and the MCP authoring tools use its stable type ID, shell.run. Every node exposes named input and output ports; connections are valid only when those ports are compatible.

Triggers are different: trigger sources keep a flow alive and begin a fresh run when an event arrives. Use knodr serve for a flow with triggers. Use knodr run or MCP start_run for a one-shot, sourceless flow.

02 / INPUTS & TRIGGERS

Start once, or react continuously

Manual Inputinput.manual

Accepts a value from the UI, CLI, or MCP start_run call.

Valueinput.value

Emits a saved constant or a {{var.NAME}} project variable.

Manual Triggertrigger.manual

Starts a live flow when a user or CLI signal arrives.

Timertrigger.timer

Starts a run on an interval or once after a delay.

HTTP Triggertrigger.http

Hosts a local webhook and emits each accepted request.

File Watchtrigger.file

Starts a run when a matching file changes in a watched directory.

Git Triggergit.trigger

Reacts after commit, merge, or checkout events in a repository.

03 / AI & AGENTS

Call models or delegate a coding task

Agent CLIagent.cli

Runs Codex, Claude, Aider, OpenCode, Gemini, or a custom agent command non-interactively.

LLMai.llm

Sends system and user prompts to OpenAI, Anthropic, or Ollama.

Custom LLMai.llm.custom

Calls an OpenAI-compatible endpoint at a configurable base URL.

UI Automateui.automate

Runs a Windows desktop automation script and returns structured observations.

04 / CODE & SYSTEM

Run commands with explicit boundaries

Run Shell Commandshell.run

Executes a local program directly and captures stdout, stderr, and exit code.

Run Scriptscript.run

Runs inline Python, Node.js, PowerShell, or Bash code.

Start Processprocess.start

Opens a scope around a long-lived local process.

End Processprocess.kill

Closes the paired process scope and guarantees teardown.

Run Container Flowcontainer.run

Runs a complete flow in an ephemeral Docker or Podman container.

Start Service Containercontainer.service.start

Opens a scope around a service container.

End Service Containercontainer.service.stop

Closes the paired container scope and guarantees teardown.

05 / FILES, NETWORK & GIT

Move data across useful boundaries

Read Filefile.read

Reads UTF-8 text or base64-encoded binary content from disk.

Write Filefile.write

Overwrites, appends, or passes incoming content through without writing.

HTTP Requesthttp.request

Sends an HTTP request and exposes status, body, headers, and parsed JSON.

API Queryapi.query

Builds an authenticated JSON request and extracts a field from the response.

Git Opgit.op

Runs local operations including status, diff, log, add, and commit.

Git Remotegit.remote

Runs clone, fetch, pull, push, checkout, and worktree operations.

JSON to Textjson.text

Renders JSON as text, optionally selecting a value with JSON Pointer.

06 / FLOW & CONTROL

Shape execution and compose results

Ifcontrol.if

Routes one value to a true or false output.

Gatecontrol.gate

Routes a payload using a separate predicate input.

Loopcontrol.loop

Repeats a bounded body a configured number of times.

Delaydelay

Holds a message for a duration, then passes it on.

Splitflow.split

Scatters a JSON array into one message per element.

Mergemerge.join

Joins branches as an ordered list, a forwarder, or gathered scatter parts.

Coalescelogic.coalesce

Selects the first arriving non-empty value across alternative branches.

Assertlogic.assert

Fails the run when an expected condition is not met.

Run Subflowflow.run

Runs another .knodrflow as a separate local Knodr process.

Concatenate Texttext.concat

Joins two text values with a separator.

Format Texttext.format

Composes text from dynamic wired inputs and a template.

Previewoutput.preview

Displays the terminal value and makes it visible as a flow result.

07 / EXACT SCHEMAS

Discover before you author

Parameters and ports are the contract. Inspect the installed version instead of guessing, especially for dynamic nodes such as merge.join and text.format.

PowerShell · CLI catalog
$ knodr list-nodes
$ knodr list-nodes --output-format json
1list_nodesFind type IDs 2get_node_schemaRead ports & parameters 3apply_flowAuthor atomically