Virtual Tool
Declare one tool callable by an AI::VirtualAgent (or exposed externally via
AI::MCPEndpoint). Each property defined on the tool becomes a typed output
connector — when the model invokes the tool, the matching argument is sent on
that connector and the downstream branch executes with the value.
Parameters
Tool name shown to the model. Must be unique within the parent VirtualAgent / MCPEndpoint.
Plain-language description of what the tool does. The model reads this to decide when to call the tool — keep it concrete and unambiguous.
Arguments the model must (or may) provide when invoking the tool. Each property has:
- Name — argument key shown to the model.
- Type —
String,Integer, orJSON. - Description — plain-language description of the argument, sent to the model.
- Required — when true the model must provide a value.
- Format — optional format hint (e.g.
email,uri,date-time) sent to the model;Stringproperties only. - Enum values — optional list of allowed values; the model is constrained to pick from these.
Stringproperties only. - Default — optional default value injected into the JSON Schema shown to the model as a hint. It is not emitted downstream: when the model omits the argument, the property's output connector simply fires nothing.
Input
Connection back to the parent AI::VirtualAgent or AI::MCPEndpoint that
exposes this tool.
Output
One output connector per declared property — typed according to the property's type and labeled with the property name (internally the connector is keyed by the property's uuid). Downstream nodes wire to the arguments they care about.
PlainText, optional. Always present alongside the property connectors:
the provider-assigned id of the tool call that fired this node. Wire it
into AI::VirtualToolResult to write the branch's outcome back into the
agent's conversation.