Toolkits
Group multiple tools into reusable collections for complex agent workflows.
Overview
Toolkits are structured collections of reusable tools that enable more complex agent workflows. Instead of managing individual tools separately, toolkits allow you to:
- Compose multi-step behaviors from atomic building blocks
- Modularize complex logic into organized packages
- Organize functionality into logical domains (e.g., scraping, parsing, exporting)
- Share environment variables across all tools in the toolkit
- Execute tools in sequence with coordinated inputs and outputs
Creating a Toolkit
Start by creating an empty toolkit that acts as a container for your tools. You’ll add tools to it later using the appropriate API calls.
Toolkit Parameters
- name: A unique identifier for your toolkit
- description: Clear explanation of the toolkit’s purpose
- isPublic: Whether the toolkit can be used by other users
- envVariables: Shared environment variables for all tools in the toolkit
Environment variables defined at the toolkit level are shared across all tools within that toolkit, providing consistent configuration management.
Adding Tools to a Toolkit
Once you have both a toolkit and saved tools, you can add tools to the toolkit. This allows you to compose a toolkit as a package of tools that share the same environment variables and can be executed together.
You can optionally include a revisionId
to specify a particular version of the tool to use. If omitted, AVM will automatically use the latest revision.
Removing Tools from a Toolkit
If some tools in your toolkit are no longer needed, you can remove them to keep the toolkit lean and relevant.
Executing Toolkits
Once your toolkit is ready, you can execute all tools in sequence. Toolkit execution allows you to run all associated tools in a predefined order while sharing the same environment variables across all of them.
Execution Options
You have several options when executing toolkits:
- Subset execution: Specify
toolIds
to run only specific tools from the toolkit - Execution order: Tools run in the order specified in the
toolIds
array - Environment override: Send a JSON object to override part or all of the environment variables saved in the toolkit configuration
Toolkit Execution Response
The response includes results from all executed tools:
Toolkit Design Patterns
Domain-Specific Toolkits
Organize tools by functional domain:
- Data Processing Toolkit: Tools for parsing, cleaning, and transforming data
- Web Scraping Toolkit: Tools for fetching, extracting, and formatting web content
- Analysis Toolkit: Tools for statistical analysis, visualization, and reporting
Pipeline Toolkits
Create toolkits that represent end-to-end workflows:
- ETL Pipeline: Extract → Transform → Load operations
- Content Generation: Research → Write → Format → Publish
- Testing Suite: Setup → Execute → Validate → Report
Utility Toolkits
Group commonly used helper functions:
- String Processing: Validation, formatting, parsing utilities
- File Operations: Reading, writing, converting file formats
- API Integrations: Authentication, requests, response handling
Before creating a toolkit, ensure you have already created the individual tools you want to include. Tools must exist before they can be added to a toolkit.
Public Toolkits
Like individual tools, toolkits can be made public to enable:
- Shared workflows: Complete processes available to the community
- Best practices: Standardized approaches to common tasks
- Collaboration: Teams can build upon each other’s toolkit designs
When creating public toolkits, ensure that all included tools and environment variables are appropriate for public use.