Skip to content
Sponsor

Your first graph

You’ll build the smallest graph that does something useful: a chat box, a model, and a view of the conversation. Then you’ll give the model instructions with a Template.

Chat InputtriggertextLLMtriggerpromptresponsetriggerGemma 4 e4b (Ollama)Chatuser_triggeruserreply_triggerreplyChat InputLLMChat
The graph on this page: red wires carry events, blue wires carry text.

Click the Boltjar logo at the top left to open your saved graphs, and pick New workflow. A new tab opens with an empty canvas.

From the node library on the left, add a Chat Input, an LLM and a Chat node: click a node to drop it on the canvas, or drag it where you want it. You can also double-click an empty spot of the canvas and search.

Drag from an output (the dots on the right of a node) to an input (the dots on the left):

From To What it carries
Chat Input trigger LLM trigger the signal to run
Chat Input text LLM prompt your message
Chat Input trigger Chat user_trigger the signal to add your turn
Chat Input text Chat user your message, for the view
LLM trigger Chat reply_trigger the signal that the reply is ready
LLM response Chat reply the reply

A wire only lands where the types fit. The red ports carry events, the blue ones text; Typed pipes has the full list.

Open the model picker on the LLM node and choose a model. The picker lists the models your connected providers offer; for a local one, install Ollama and pull a model first (Install shows how). You can also leave it empty: with no model picked, the LLM node answers with a mock reply, which is enough to see the graph work.

Press On at the top. The server checks the graph first; if something is missing, the graph stays Off and the problems list says what. Once it is On, type into the Chat Input’s box and send. The wires light up as values pass, and the reply lands in the Chat node.

Add a Template node and type into it:

You are a helpful assistant. Keep answers short and plain.
User: {message}

The {message} tag becomes an input socket. Wire it up:

From To
Chat Input trigger Template trigger
Chat Input text Template message
Template trigger LLM trigger
Template out LLM prompt

The last two replace the LLM’s old wires, since an input holds one wire. Every trigger input needs a wire, the Template’s included, or the graph stays Off. The graph is now a draft of what is running, so press Save & Restart to run the new version.

Sending a message fired the Chat Input’s trigger. The Template ran on it, assembled its text from the message it read from the Chat Input, and passed the trigger on. The LLM runs when a trigger reaches it, and at that moment it pulled its prompt: the text the Template had just assembled. When the model answered, the LLM set response and fired its own trigger, and the Chat node added the reply.

That is the whole model of Boltjar: triggers push, data is pulled. Triggers and pulled data goes through it in detail.

Save writes the graph to user/graphs/<name>.json and keeps a timestamped copy in user/autosave/<name>/ (the newest 50), so you can go back. Between saves, the editor keeps your edits in the browser, so a refresh loses nothing.

The finished graph from this page, with the Template, is the Chat with Ollama guide’s download, where the Chat Input is named Message and the Template Prompt.