Skip to main content
Integrating tools involves two layers:
LayerPurposePython (asapi)CLI (agentservice)
Sudoiq registryThe execution platform stores schemas (name, parameters JSON Schema) so models can call tools.client.tools.register_tools, client.tools.get_toolstools push, tools list
App-defined toolsYour application code runs when the model invokes a tool and returns a string result to the API.set_tools (streaming) or process_webhook_tools + send_tool_responses (webhooks)task status --wait --tool-handler ... (see CLI)
Each tool is identified by name + namespace. Those registered schemas (including tool names/namespaces and argument JSON Schema) are part of what Sudoiq provides to models when they decide which tool to call. In Python, the SDK provides typed schema models (for example ToolDefinition) that you can reuse or extend in your own codebase when defining new tools. The selected tool must exist in the registry and have a matching key in your app tool map for runs that execute tools in your integration. Next: