Tool calling
List raw tool schemas for custom adapters
scalekit.tools returns raw tool schemas so you can build custom agent adapters instead of using scalekit.actions.executeTool directly.
Use this client when you need tool definitions (name, parameters, connector) for frameworks or your own executor. For connect + execute flows, prefer Connected accounts. See Error handling for exceptions.
listTools
Section titled “listTools”#asynclistTools
Lists tools available in your workspace with optional filtering and pagination.
Optional fields: filter, pageSize, pageToken.
Paginated tools.
const res = await scalekit.tools.listTools({ pageSize: 50, filter: { query: 'calendar' },});// res.tools, res.nextPageTokenlistScopedTools
Section titled “listScopedTools”#asynclistScopedTools
Lists tools that are scoped to a specific connected account identifier.
Connected account identifier to scope the tools list.
Optional fields: filter, pageSize, pageToken.
Paginated results.
// options.filter is requiredconst res = await scalekit.tools.listScopedTools('user@example.com', { filter: { // providers, toolNames, connectionNames as needed }, pageSize: 50,});listAvailableTools
Section titled “listAvailableTools”#asynclistAvailableTools
Lists tools that are available for a specific connected account identifier.
Connected account identifier to scope the available tools.
Optional fields: pageSize, pageToken.
Paginated results.
const res = await scalekit.tools.listAvailableTools('user@example.com', { pageSize: 50,});executeTool
Section titled “executeTool”#asyncexecuteTool
Executes a tool using credentials from a connected account.
Tool execution options.
Tool result and execution ID.
// Low-level tools client (params, not toolInput)await scalekit.tools.executeTool({ toolName: 'slack.chat.postMessage', identifier: 'T0123456', params: { channel: 'C0123', text: 'hi' },});