Tools
Tools are the core building blocks of almyty. Each tool represents a single callable action that an AI agent can invoke to interact with the outside world. You can auto-generate tools from API schemas or create them manually using one of five execution methods.

In the UI
Browsing tools
Open Tools in the sidebar. The table shows every tool in your organization with its name, type, status, and source API (if auto-generated). Use the search bar and type filter to narrow the list.
When no tools exist yet, the empty state links you to either import an API (which auto-generates tools) or create one manually.

Creating a tool
Click Create Tool. The dialog presents five execution methods:
| Method | When to use |
|---|---|
| HTTP | Call any REST endpoint with configurable method, URL, headers, and body |
| Custom JavaScript | Run sandboxed JS/TS code with npm packages for logic, transforms, or integrations |
| GraphQL | Execute a query or mutation against a GraphQL endpoint |
| LLM | Generate output from a prompt template using a configured AI model |
| SDK | Import an npm package and auto-generate tools from its exported functions |

After selecting a method:
- Enter a name and description — the description is what agents see when deciding whether to use the tool
- Define input parameters using the JSON Schema builder (or write raw JSON Schema)
- Configure the method-specific settings (URL and headers for HTTP, code editor for JavaScript, etc.)
- Click Create to save
Auto-generated tools
When you import an API schema on the APIs page, almyty parses each operation and creates a tool automatically:
- OpenAPI — each path + method combination becomes a tool
- GraphQL — each query and mutation becomes a tool
- SOAP — each WSDL operation becomes a tool
- Protobuf — each RPC method becomes a tool
Auto-generated tools include a name derived from the operation ID, a description from the operation summary, and parameters with full JSON Schema types and validation. They link back to the source API and operation in their metadata.
Tool lifecycle
| Status | Meaning |
|---|---|
active | Available for execution and gateway assignment |
inactive | Exists but cannot be executed |
deprecated | Marked for removal, still functional |
error | Has a configuration issue that needs attention |
Via the API
List tools
curl /organizations/{orgId}/tools \
-H "Authorization: Bearer $TOKEN"Response:
{
"tools": [
{
"id": "tool-uuid",
"name": "get_users",
"description": "Retrieve a list of users",
"type": "api",
"status": "active",
"metadata": {
"autoGenerated": true,
"sourceApi": { "id": "api-uuid", "name": "User Service" },
"sourceOperation": { "method": "GET", "endpoint": "/users" }
},
"parameters": {
"type": "object",
"properties": {
"page": { "type": "integer", "description": "Page number" },
"limit": { "type": "integer", "description": "Items per page" }
}
}
}
]
}Execute a tool
curl -X POST /organizations/{orgId}/tools/{toolId}/execute \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"page": 1,
"limit": 10
}
}'Response:
{
"success": true,
"data": {
"result": { "users": ["..."], "total": 42 },
"duration": 234,
"status": "success"
}
}Delete a tool
curl -X DELETE /organizations/{orgId}/tools/{toolId} \
-H "Authorization: Bearer $TOKEN"Deleting a tool removes it from all gateways it was assigned to.
Export formats
Each tool can be exported in multiple formats:
- SKILL.md — Agent Skills format for SKILL.md injection
- CLI — Bash or Node.js command-line scripts
- SDK — Generated SDK code for programmatic use
See the individual tool type pages for type-specific configuration details.