Skip to main content

talonic_invoke_agent_tool

Invoke one named tool from the platform's agent tool registry directly, with no model in the loop — you choose the arguments. This is how an external agent uses Talonic's retrieval and provenance while driving control flow itself: query_data for a read-only SQL SELECT over the extracted data, describe_data for the queryable field list, get_document_markdown to read a document's text. Denied capabilities come back as an error naming the capability required; the platform re-checks every call. API-key credentials are restricted by the platform to the registry's read-only tools (capability data.read); write-capable registry tools are never invocable through this credential, so through an API-key credential this tool reads and never mutates workspace data.

Target API: Talonic API reference — POST /v1/agent/tools/{name}/invoke.
Not listed on ChatGPT connections: OpenAI's plugin review requires every model-callable operation to be its own tool, so the hosted server omits talonic_list_agent_tools and talonic_invoke_agent_tool for ChatGPT. Every other client lists both.

When to use

  • talonic_list_agent_tools showed a tool with can_invoke: true that does what you need.

When not to use

  • Anything a dedicated talonic_* tool already does — prefer those.

Parameters

ParameterTypeDescription
namestringTool name, e.g. `query_data`.
argsobjectArguments matching the tool's `input_schema`.
document_idsstring[]Hard scope for scope-aware tools.

Response shape

Fields

ParameterTypeDescription
toolstringThe tool that ran.
resultanyThe tool's parsed output.
citations / artifacts / cardsarrayPresent when the tool attached them.
Tool input
{ "name": "query_data", "args": { "sql": "SELECT field_key, count(*) FROM cells GROUP BY 1 ORDER BY 2 DESC LIMIT 5" } }
Tool response
{
  "tool": "query_data",
  "result": { "rows": [{ "field_key": "invoice_number", "count": 412 }], "row_count": 1 }
}

Frequently asked questions

Does invoking a tool cost credits?+
No. Every tool an API key can reach is LLM-free, so there is no model call to meter; the route is bounded by its own rate-limit namespace instead.