Skip to main content

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

Namerequired

Tool name shown to the model. Must be unique within the parent VirtualAgent / MCPEndpoint.

Descriptionrequired

Plain-language description of what the tool does. The model reads this to decide when to call the tool — keep it concrete and unambiguous.

Propertiesrequired

Arguments the model must (or may) provide when invoking the tool. Each property has:

  • Name — argument key shown to the model.
  • TypeString, Integer, or JSON.
  • 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; String properties only.
  • Enum values — optional list of allowed values; the model is constrained to pick from these. String properties 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

Toolrequired

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.

Tool call id

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.