Skip to main content
Version: 2.0

Create tool

POST 

/v2/tools

Creates a tool that agents can call. Tools give agents capabilities to interact with external systems, process data, query corpora, or run custom logic. Agents select and invoke tools dynamically based on their instructions and the current session.

The platform provides several built-in tools, and you can also create your own. This endpoint supports two tool types:

  • Lambda tools, which run user-defined Python functions in a secure sandbox.
  • Client tools, which the calling client executes. The platform emits a tool_input event, and the client submits the result as a tool_output input.

A lambda tool can declare its own tool_configurations. These are named configurations of other tools. The lambda tool's Python code calls them as functions through the built-in tool module. They stay private to the tool. $ref values in their argument_override resolve against the hosting agent and session. See CreateLambdaToolRequest.tool_configurations for the contract and examples.

Each tool includes:

  • A unique tool ID
  • A description of its purpose
  • An input schema that describes accepted parameters
  • Optional metadata
  • An enabled flag that controls runtime availability

Artifact-based tools

Some built-in tools work with artifacts stored in a session:

  • Document conversion tool: Converts file artifacts (PDF, Word, PowerPoint, images with OCR support) to markdown and produces new artifacts that contain the extracted content.

These tools operate on artifact references rather than file content. This supports multi-step workflows where agents process or index user-uploaded documents.

Request

Responses

The tool is created.