Final Output
When Conversation mode is on, the Tool's last node is the Final Output node, which renders one assistant message per turn.
The standard task-first Outputs node (multi-key JSON) is replaced by this single-template node.
Compose the reply
- Open the Final Output node.
- In Add to conversation, write the message and insert variables with
{{ }}:
Here is what I found for "{{user_query}}":
{{llm.result}}
Would you like me to dig deeper?
- Markdown is supported — bold, lists, code blocks, links.
- Reference any variable from the Chat History, Custom Attributes, or any upstream node.
- The rendered string becomes the assistant reply for that turn.
One node, one reply
A conversation-mode Tool always returns exactly one assistant message per turn. You cannot return multiple messages or a structured JSON payload from a conversation-mode Tool — that's what task-mode is for.
If you need to emit multiple structured fields, use the Tool without Conversation mode and call it programmatically from your application or from an Agent.
What flows into Chat History next
After the Final Output renders, the reply is appended to Chat History as an assistant message. On the next turn, the LLM sees the full history including your prior reply, so multi-turn context is preserved automatically.
Empty or template-error replies
- If the template renders to an empty string, the Tool still completes successfully and an empty assistant message is returned. Most clients display this as a no-op turn.
- If a variable in the template is undefined (e.g., the upstream node didn't run), Studio shows the standard "undefined variable" warning at edit time. At runtime, undefined variables render as empty strings.
Versioning
Final Output is part of the Tool's configuration and is captured in every saved version. See Versioning.