All nodes/AI/LLM

LLM Response

Sends a message to the LLM and streams the response. A simpler option than AI Agent — no tools, a single call. Takes its model from the Model port. Conversation history is a Messages array on the Message port: wire the Chat History node's output there and the model receives every message, the last one being the current turn.

LLM Response▶
ModelModel reply
MessageExtra stream
System

Type in the graph: llm_response

Exec

An error output can be enabled to handle failures on their own path.

Ports can be split into separate execution and data handles.

Try it

Minimal working scenario

Entry
LLM Response▶
LLM▦
Exit▶
  • Execute + Data
  • LLM
  • Execute + Data + Streaming
Press “Copy nodes”, open the editor and hit Ctrl+V on the canvas.

Runs as pasted

When to use it

Reach for this node when you need one answer from the model and nothing else: rewrite a text, translate it, summarise it, answer a question from the context you passed in. One call, no tools, no rounds, and the answer streams out. If the model has to decide for itself what to use, you want an AI Agent; if you need the answer as an object with fields, use Structured Output LLM.

How it works

The Message port does two things at once: it triggers the node and carries the prompt. It accepts a plain string, a message with attachments, or a whole Messages array — from the Chat History node, for example. In that last case the leading messages become conversation context and the trailing one becomes this turn’s question.

The answer streams. When the node’s output is wired straight into Exit, tokens appear in the chat as they are generated; any node in between buffers the answer and hands it over in one piece.

What travels on downstream is the answer text itself — a plain string, no wrapper.

The extra stream port appears once “Mirror Output to Extra Section” is on; wire it into the ExtraSection node.

Common mistakes

  • The System port is connected but the prompt did not change. “System Prompt Source” defaults to Template, and the connected port is then ignored. Switch it to “Connected System port” or “Auto”.
  • Choosing Template and removing the edge. The Message edge is still required — it triggers the node; with the Template source only its value is ignored.
  • Wiring the streaming output into two nodes. A stream has exactly one destination: two streaming edges from one port is a validation error.
  • Wiring both the entry and the history into Message. The Messages array from Chat History already ends with the current message and reaches the model whole. A second edge into the same port from Entry is not needed — and without it LLM Response is guaranteed to run after the history has been read.

Inputs

PortWirePayloadNotes
ModelllmLLMlink_llm—

LLM config from llm node (registry or workspace connection)

MessagemessageExecute + Dataexecute_datamessage

Text, a Message or a Messages array. A Messages array (e.g. from Chat History) reaches the model whole — that is how the conversation history gets in.

SystemsystemDatadata—

System prompt override

Outputs

PortWirePayloadNotes
Model replyoutputExecute + Data + Streamingexecute_data_streamingobject
Extra streamthinkingStreamingstreaming—

shown when output_to_thinking = true

Configuration

FieldTypeDefaultDescription
Message sourcemessage_sourcestringconnected

connected — from edge; template — from template text

Options: connected — Connected input, template — Template

User Message Templateuser_prompt_templatestring""

Used when message source is template. Supports {{inputs.message}}, {{nodes.xxx.output.yyy}}

supports templates

shown when «Message source» = Template

System Prompt Sourcesystem_sourcestringtemplate

auto -- use connected system input if available, else template

Options: auto — Auto (connected System port, else template), connected — Connected System port, template — Template

System promptsystem_promptstring""

System prompt template

supports templates

Advanced
Mirror Output to Extra Sectionoutput_to_thinkingbooleanfalse

Also stream LLM output to a connected ExtraSection node

De-identify sensitive datamask_sensitive_datastring""

Replace recognised personal data with markers in the text sent to the model, and restore the originals in its answer. Does not cover attachments, knowledge bases, web search or HTTP node calls. Recognition is not guaranteed to be complete.

Options: — Workspace default, on — De-identify, off — Do not de-identify

Shared fields

Every node has these three — the platform adds them, not the node author.

  • expose_error_output — When enabled, show an execution output to connect nodes that run if this step fails.
  • split_ports_in — Show separate execution and data input handles instead of one combined port.
  • split_ports_out — Show separate execution and data output handles instead of one combined port.

Ready-made examples using this node