Tools
Overview

Tools

Tools are the core building blocks of almyty. Each tool represents a single callable action — an API endpoint, a JavaScript function, a GraphQL query, or an LLM-powered operation. Tools are what AI agents actually invoke when they need to interact with the outside world.

Tool Types

almyty supports five tool types:

TypeSourceDescription
APIAuto-generatedCreated from imported API schemas (OpenAPI, GraphQL, SOAP, Protobuf)
HTTPManualCustom HTTP request tool with configurable method, URL, headers, body
JavaScriptManualSandboxed JavaScript function with full parameter control
GraphQLManualCustom GraphQL query or mutation tool
LLMManualLLM-powered tool that generates output from a prompt template

Auto-Generated Tools

When you import an API schema, almyty parses each operation and creates a tool:

  • OpenAPI — Each path + method combination becomes a tool
  • GraphQL — Each query and mutation becomes a tool
  • SOAP — Each operation in the WSDL becomes a tool
  • Protobuf — Each RPC method becomes a tool

Auto-generated tools include:

  • Name derived from the operation ID or path
  • Description from the operation summary or description
  • Parameters with full JSON Schema types, validation, and descriptions
  • Metadata linking back to the source API and operation

Tool Lifecycle

StatusDescription
activeTool is available for execution and gateway assignment
inactiveTool exists but cannot be executed
deprecatedTool is marked for removal, still functional
errorTool has a configuration issue

Listing Tools

curl https://api.almyty.com/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" }
        }
      }
    }
  ]
}

Executing a Tool

curl -X POST https://api.almyty.com/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"
  }
}

Deleting a Tool

curl -X DELETE https://api.almyty.com/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 details.