Custom Tools
Custom tools are functions you write in Python or TypeScript that extend what your agents can do. They’re deployed alongside your code and can perform any action — query databases, call APIs, integrate with your systems.Looking for platform tools? Reminix also provides pre-built Platform Tools (web search, memory, knowledge base, KV storage) that require no code. This page covers custom tools you build yourself.
- Fetch data: Query your databases, call your APIs, read from your systems
- Take actions: Send emails, create records, trigger workflows
- Integrate: Connect to CRMs, payment processors, internal services
How Tools Work
When an agent needs to use a tool:- Agent decides which tool to call based on the task
- Agent provides the input (API request body:
{ input: { ... } }) - Tool executes and returns a result
- Agent uses the result to continue processing
Tool Schema
Tools are defined with a schema that describes their inputs and outputs:Creating Tools with Reminix
Reminix provides native tool APIs for both Python and TypeScript. These tools can be served as standalone HTTP endpoints.Python
Use the@tool decorator:
- Input schema from type hints
- Input field descriptions from docstring
Args:section - Output schema from return type (Pydantic models, TypedDict, or basic types)
Python Tools Guide
Complete guide to creating tools in Python
TypeScript
Use thetool() factory function:
TypeScript Tools Guide
Complete guide to creating tools in TypeScript
Tool Endpoints
When tools are served, these endpoints are available:| Endpoint | Method | Description |
|---|---|---|
/health | GET | Health check |
/info | GET | Discovery (lists all tools with schemas) |
/tools/{name}/call | POST | Call a tool |
Executing Tools via SDK
You can call deployed tools directly using the Reminix SDK:- Test tools independently of agents
- Build custom orchestration logic
- Call tools from external systems
Using Tools with Frameworks
Reminix also works with popular AI frameworks that have their own tool systems. Here’s how to use tools with each:LangChain (Python)
Vercel AI SDK (TypeScript)
Custom vs Platform Tools
| Custom Tools | Platform Tools | |
|---|---|---|
| Definition | Code you write | Pre-built by Reminix |
| Setup | Deploy with your code | Enable in UI |
| Use case | Domain-specific logic | Common capabilities |
| Examples | CRM lookup, payment processing | Web search, memory, knowledge base |
/info endpoint when you deploy. The tool type reflects the language used:
| Type | Description |
|---|---|
python | Python tool (decorator-based) |
typescript | TypeScript tool (factory-based) |
Platform Tools
Learn about pre-built platform tools (web, memory, knowledge, storage)
Tool Best Practices
Keep tools focused
Keep tools focused
Each tool should do one thing well. Instead of a
do_everything tool, create search_products, get_product_details, add_to_cart.Write clear descriptions
Write clear descriptions
The agent uses descriptions to decide which tool to call. Be specific about what the tool does and when to use it.
Handle errors gracefully
Handle errors gracefully
Tools should return meaningful error messages that help the agent recover or inform the user.
Validate inputs
Validate inputs
Validate input before processing. Don’t assume the agent will always provide perfect inputs.