On, Off and Restart
A graph in Boltjar is not a script you run once. You turn it On, and it keeps running until you turn it Off: its triggers listen for chat messages, webhooks, timers and schedules, and every event they fire runs the nodes wired to them.
Turning a graph On
Section titled “Turning a graph On”Before a graph turns On, the server checks it. It stays Off, and the problems list names each problem, when:
- a required input has no wire,
- there is no trigger at all, so nothing could ever fire,
- a wire joins ports whose types do not fit, or a port that no longer exists,
- two Wireless In nodes share a channel, or two Tool nodes share a name (or one has none),
- a field uses a
{{secret.NAME}}that nobody defined.
A disabled node is left out of these checks. Once the graph passes, every node is built, the triggers start (a Manual trigger fires right away), and values start moving on the wires.
What keeps running
Section titled “What keeps running”The graph runs in the Boltjar server, not in the browser. Close the tab or refresh the page and it keeps going; open the editor again and it shows the graph live, with the latest values.
Several graphs can be On at the same time, one per tab. Closing a graph’s tab in the editor turns that graph Off. Stopping the server (Ctrl+C in its window) turns every graph Off, and they stay Off when the server starts again.
Editing a running graph
Section titled “Editing a running graph”You can edit a graph while it is On. The running graph stays as it was, and the editor marks your edits as a draft. The main button then reads Save & Restart: it saves the graph and starts it again with your changes.
A restart builds every node fresh. Whatever a node kept in memory starts over: a For-each loop, the last value a Changed node saw, a Meter without persist. Stores keep their data: SQLite tables, key-value stores, vector stores and files live on disk under user/data/.
Disabling a node
Section titled “Disabling a node”Right-click a node and pick Disable to take it out without deleting it. A disabled node that sits in the middle of a line, like a Preview or a Wait, passes its input straight through; any other disabled node is simply left out, with its wires.
From outside the editor
Section titled “From outside the editor”The same power switch is an HTTP call, for scripts and for the MCP server:
curl -X POST http://127.0.0.1:8770/api/runtime/<graph>/power \ -H "Authorization: Bearer $(cat user/data/token)" \ -H "Content-Type: application/json" \ -d '{"action": "on"}'action is on, off or restart. With no graph in the body, the server loads the saved one for that name, and the answer lists any problems that kept it Off.