Start Point: Chat History
When Conversation mode is on, a Tool's Start Point input is a single built-in field: Chat History.
Format
Chat History is an OpenAI-style array of message objects:
[
{"role": "system", "content": "You are a helpful product assistant."},
{"role": "user", "content": "How do I export a dataset?"},
{"role": "assistant", "content": "Open the dataset and click..."},
{"role": "user", "content": "What about formats?"}
]
Each turn has a role (system, user, or assistant) and a content string.
How user messages are appended
Every inbound user message — from the embed widget, the SDK, a phone call routed through telephony, or an Agent invoking the Tool — is appended to Chat History automatically. You do not need to handle the append in your node logic.
The value you select in the Final Output node becomes the chain's reply for that turn. The reply is also appended to Chat History as an assistant message and is available to subsequent turns.
Seeding the conversation
You can seed Chat History with starter content saved as part of the Tool:
- System instructions — a
systemrole message setting the agent's role and behavior. This is the equivalent of an Agent's base instruction. - Example turns —
user/assistantpairs that prime the model with style, tone, or in-context examples.
Seeded messages are included on every run and are not stored as separate resources. To reuse the same seeds across multiple Tools, copy them in or generalize via Custom Attributes.
Custom Attributes tab
The Custom Attributes tab is shown next to the Chat History panel and works identically to a non-Conversation-mode Tool:
- Store secrets, environment values, or per-project constants.
- Mask sensitive values.
- Reference attributes from any node using
{{custom_attribute_name}}templating.
Custom Attributes survive a mode switch — they are not deleted when you toggle Conversation mode.
Agent inheritance
If an Agent invokes a conversation-mode Tool, environment overrides sent to the Agent (e.g., env.account_id, env.region, env.api_key) are automatically available to the Tool and its nodes — you don't need to echo them in prompts or custom attributes.
Variable references in nodes
Nodes downstream of the Start Point can reference Chat History as {{chat_history}} or, where relevant, reference the latest user message directly. Standard {{ }} Jinja templating applies — see Studio canvas for the full templating model.
What the LLM step sees
When you wire Chat History into an LLM node, the node receives the full message array as the model's input prompt context. This is how conversation-mode Tools maintain multi-turn context across turns without you having to manage the state.