From a recurring task
to a reusable AI process.
NodeFox is a visual canvas for AI orchestration: the steps around the model, the information each one receives, and the decisions between them. Get started locally in the browser — nothing to stand up, nothing to self-host.
Begin with the input and the result.
- 01
Input and result
What arrives: a brief, a file, a row of data? What should come back: a review, a structured record, a draft?
- 02
Connect the steps
Add steps to read information, call a model, shape data, decide or write an output, then connect them so each receives what it needs.
- 03
Include the decisions
A model response is not a finished result: check for missing information, put the question to a person, or route the output to a reviewer.
- 04
Choose how to run it
Run it yourself, hand your team a form that starts it, or point it at a list. The logic stays in one network.
See how the work connects.
Routing you can point at.
State that lasts the length of the run.
Branches that converge on purpose.
Data and permission are separate wires.
Finished networks become single steps.
Give people the tool, not the setup.
A process behind the form.
Ask for what the task actually needs.
Keep the conversation connected to the run.
Repeat the process, not the setup.
Point an automation at a network and say what changes each time: a column of a registered CSV, a list of values you type, or a numeric range.
Each run receives the current value as a global variable the network reads, while the values that apply to every run stay fixed as overrides. Run history is kept per automation.
Practical limits: a batch needs an active execution environment; closing the browser is not a background job. Concurrency depends on your plan, runtime and connected providers.
Choose the model for the job.
One process does not need one model for everything.
Connect your own provider credentials.
Change a model and recheck the behavior — tool calling, supported content, output formats and limits can differ between providers.
Connect the tools your process actually needs.
Use an API when you know the request.
Use MCP for configured tool access.
Keep files and specialized tools in scope.
Test a write with safe inputs and a non-production destination: a retry is not always harmless, since the first request may already have succeeded.
Understand the run behind the result.
Follow the work while it runs.
See reported model usage in context.
Replay inspects what a past run recorded. It is not a re-execution, and it does not guarantee a new model response will match the old one.
Build the process. Keep the escape hatches.
Keep exact logic exact.
Design interfaces between steps.
Know where it runs before you choose the workload.
Extending past the canvas is a conversation.
// Code node — normalize-brief // slot 1 in: raw brief text · slot 1 out: structured fields const brief = inputs.get(0); if (!brief || typeof brief !== "string") { throw new Error("validation_error: missing brief text"); } const fields = { scope: brief.match(/Scope:(.*)/)?.[1]?.trim() ?? null, deadline: brief.match(/Deadline:(.*)/)?.[1]?.trim() ?? null, }; session.set("briefLength", brief.length); outputs.set(0, fields); // network.json — excerpt, illustrative shape { "nodes": [ { "id": "n1", "type": "Global", "label": "Client brief" }, { "id": "n2", "type": "Code", "label": "Normalize brief" } ], "edges": [ { "from": "n1", "fromSlot": 1, "to": "n2", "toSlot": 1, "kind": "data" } ] }
A few things to know before you begin.
Do I need to code?
Where does it run?
How should I evaluate it?
Does visible logic make model output predictable?
Pick one task worth repeating.
Build its steps first. Hand it to your team or point it at a list once the process holds up.
NodeFox is in beta.