tools/call request and returns a standard CallToolResult: a content array (a text block your model reads) plus, on success, structuredContent (the same payload as parsed JSON, for clients that support it). A failed call sets isError: true and puts a message the model can act on in the text block — never a raw stack trace or protocol error.
search_apis
Find which operations can serve an intent. Call this whenever you don’t already know the exactoperationId — it searches every available operation and returns candidates with their id and a one-line summary.
string
required
What you’re trying to do, in plain words — e.g. “find buyer leads created last week” or “reassign a lead to another agent”.
integer
default:"8"
Maximum results to return. Maximum
25.Request
Response
describe_api
Return the full parameter schema for one operation: every argumentinvoke_api accepts, with types, allowed values, and documentation. Call this after search_apis and before invoke_api.
string
required
An
operationId returned by search_apis, e.g. lead_update.Request
Response
"warning" field saying so — confirm with the user before calling it.
invoke_api
Execute one operation. Path and query parameters go at the top level ofarguments; a request body goes under a nested body key.
string
required
The operation to call, as returned by
search_apis.object
Arguments for the operation, exactly as described by
describe_api.Request (path parameter)
Request (with a body)
Error example
A very large response is truncated with a leading
NOTE: ... line explaining what was cut and how to get the rest — read that line before treating a trimmed list as the complete answer.list_custom_fields
Return the custom lead field definitions configured on the caller’s team, with the ids to use when reading or writing their values. Custom fields are defined per team, so they can’t appear in any operation’s static schema — call this before setting or filtering on a field name you don’t recognize. This tool takes no arguments.Request
Response