Tools
AI
Natural Language Processing

Generate tool inputs from natural language (DEPRECATED)

Changed on

DEPRECATED: This endpoint is no longer maintained. It still works for existing integrations but may be removed in a future release. To build tool arguments, fetch the tool's input schema with GET /api/v3/tools/{tool_slug} and generate the arguments in your own application. Uses AI to translate a natural language description into structured arguments for a specific tool.

post/api/v3/tools/execute/{tool_slug}/input

Request

  • Base URL
    https://backend.composio.dev
  • URL
    https://backend.composio.dev/api/v3/tools/execute/{tool_slug}/input
  • Auth
    API key in header x-api-key

Path parameters

tool_slugstring required

The tool slug to generate inputs for

Request body

textstring required

Natural language description of what you want to accomplish with this tool

custom_descriptionstring

Custom description of the tool to help guide the LLM in generating more accurate inputs

system_promptstring

System prompt to control and guide the behavior of the LLM when generating inputs

versionstring

Tool version to use when generating inputs. Defaults to the pinned version ("00000000_00") when omitted.

Example request

{
  "text": "I need to trigger the main workflow in the octocat/Hello-World repository to deploy to production",
  "custom_description": "This tool triggers GitHub Actions workflows in a repository. It requires the repository name, workflow ID, and optional input parameters.",
  "system_prompt": "You are an expert assistant that generates precise GitHub Actions workflow parameters. Extract exact repository names, workflow IDs, and input values from user descriptions.",
  "version": "latest"
}

Response

Successfully generated structured inputs for the action based on natural language description

argumentsobject

Key-value pairs of arguments required by the tool to accomplish the described task

errorstring

Error message if the arguments could not be generated (null if successful)

Example response

{
  "arguments": {
    "repository": "octocat/Hello-World",
    "workflow_id": "main.yml",
    "ref": "main",
    "inputs": {
      "environment": "production"
    }
  },
  "error": "Unable to determine the repository name from the provided description"
}

Changes