Skip to main content

Virtual Agent

Run an LLM as a tool-calling agent. The agent receives a prompt, decides which of the connected AI::VirtualTool nodes to call (and with what arguments), and the workflow routes execution into the chosen tool's branch. Use this for flexible "decide-then-do" flows where the next step depends on the user request.

With Conversation memory enabled, the agent also exposes a session_id input: calls sharing the same session id form a multi-turn conversation, including the agent's past tool calls. Memory only activates when a non-empty session id arrives at run time. Pair with AI::VirtualToolResult on the tool branches to write each tool's outcome back into the session so the model knows what happened on the next turn.

For exposing your tools to external MCP clients (Claude Desktop, IDE plugins, …) use AI::MCPEndpoint instead.

Pre-requisite: Install an AI provider application from Profile > {Organization} > Applications. The provider must support tool/function calling.

Parameters

Providerrequired

Configured AI application supporting tool calling.

Model

Model identifier supporting tool calling. Defaults to the provider's recommended model when left empty.

Agent System Contextrequired

System prompt describing the agent's role, when it should call which tool, and any output rules. Sent before the user prompt on every call.

Conversation memory

Enables multi-turn conversation memory and the session_id input connector. Exchanges sharing the same session id are replayed as conversation history. Off by default.

Memory TTL (seconds)

Only shown when Conversation memory is enabled. How long an idle conversation is kept, in seconds (default 3600). The TTL is refreshed on every exchange.

Max replayed messages

Only shown when Conversation memory is enabled. Maximum number of past messages replayed per call (default 20). Older messages are dropped first.

Input

Promptrequired

The user message the agent must satisfy.

Session id

Only present when Conversation memory is enabled. Optional. Accepted types: PlainText or Integer. Runs sharing the same session id share conversation history. When left unwired or empty at run time, the call is treated as a one-shot call without memory.

Output

Toolrequired

Connect one or more AI::VirtualTool nodes here. The agent picks which to call per prompt, and the matching tool branch is executed with the arguments the model produced.

Text response

PlainText, optional. The model's plain-text answer when it chose not to call any tool. Skipped (its children are pruned) whenever a tool was called.