list_custom_tools
List every custom tool (an HTTP connector) this credential can see. Depending on its context, that can include the represented user's own tools, team-owned tools from its bound teams, and tools it can reach in the organization's shared catalogue. Use it to discover what already exists before you inspect, edit, or copy a tool. It takes no parameters.
Only enabled tools appear here — the same tools an agent can actually call. A tool that was created but still needs a secret set in the dashboard is disabled, so it won't be listed until someone enables it.
What you can see is broader than what you can change: a tool you can reach in the shared catalogue shows up here so you can inspect and copy it, even if only a person can edit the catalogue itself.
Parameters
None.
Response
| Field | Type | Description |
|---|---|---|
tools | array | The custom tools you can see (below). |
Each entry:
| Field | Type | Description |
|---|---|---|
name | string | Exact caller-relative address to pass to get_custom_tool. |
description | string | The tool's description, when it has one. |
In an organization, the represented member's private tools are listed with a me/ prefix, and
tools owned by a bound team use the team's name, so you can tell them apart from the shared
catalogue, which stays unprefixed. A userless organization credential has no me/ entries. Pass
the name exactly as shown to get_custom_tool; only private (me/) and
team addresses are writable in organization scope.
Example
Result:
{
"tools": [
{ "name": "weather", "description": "Fetch the weather for a city" },
{ "name": "marketing/crm-lookup", "description": "Look up a CRM contact" }
]
}
Errors
Each failure carries a precise code in the response. A capability denial is returned as a tool result with isError: true, so the agent can read the code and self-correct; a server fault is a JSON-RPC protocol error.
| Code | Cause | Delivered as |
|---|---|---|
capability_denied | The credential lacks the Tools capability required for governed tool use. | tool error (isError) |
internal_error | An unexpected error occurred. | protocol error (internal_error) |
Notes
- Only enabled tools are listed. A tool awaiting a dashboard secret is disabled and omitted.
- To see a tool's full connector definition, pass its
nametoget_custom_tool. - Listing counts as one tool call against your plan's tool-invocation allowance.