Skip to main content
A tool is something an agent may decide to call while it answers: run a query, download a file, run one of your functions, call an external API, send an email. The model chooses when to call a tool and with which arguments; Wavefront runs it and gives the result back to the model.

Available tools

The same functions also exist as function nodes for workflows, with the same parameters.

Giving an agent tools

Open the agent, choose Edit, and use Add Tools to pick tools. Tools that need fixed values (such as which datasource and query) ask for them, and the console writes the tools into the agent’s YAML.
  • tools is a list of objects with a name; a list of plain strings makes the agent fail to run.
  • prefilled_params fix arguments the model must not choose: which datasource, which query, which mailbox. The model supplies the rest.
  • name_override and description_override change what the model sees, which helps it pick the right tool.
  • Say in the agent’s instructions when to use each tool and how to fill its arguments.
You can also add tools for a single run with "tool_names": [...] in the inference request.

Tools or function nodes?

Both run the same code. The difference is who decides: For processes, prefer function nodes: load the data and files first, then give the agent a parser and one call. It is faster, cheaper, and easier to audit, and it avoids the known issue below.

Known issues

An agent cannot have both tools and a parser (#447). The model calls the parser as if it were a tool and the run fails. Use one or the other, or load data with function nodes as described above.
Datasource tools report failures to the model as text (“Insert failed (400): …”) rather than raising an error (#448). The model may carry on as if the call had worked; instruct it to report tool failures in its answer.