← All Toolkits

Search Tools

COMPOSIO_SEARCH_TOOLSImportantExternalRead-only

Discovers the right tools across 500+ apps for a task and returns them with an execution plan, connection status, and the `session_id` that ties the rest of the workflow together.

When to use it

Call `COMPOSIO_SEARCH_TOOLS` first, at the start of any task that touches an external app or service. Run it again whenever the user pivots to a new use case so you get a fresh `session_id` and a plan scoped to the new work.

Split a request into atomic queries (one query per tool call) and name the app in each query so intent stays scoped. The response tells you which toolkits already have an active connection and which need `COMPOSIO_MANAGE_CONNECTIONS`.

Input parameters

queriesarrayRequired

Structured English search queries to process in parallel. Split independent app/API actions into separate queries, including hidden prerequisites. Each query returns 4-6 tools.

sessionobject

Session context for correlating meta tool calls within a workflow. Always pass this parameter. Use {generate_id: true} for new workflows or {id: "EXISTING_ID"} to continue existing workflows.

modelstring

Client LLM model name (recommended). Used to optimize planning/search behavior. Ignored if omitted or invalid.

Response

dataobject

Data from the action execution

errorstring

Error if any occurred during the execution. Format: "X out of Y searches failed, reasons: <details>"

successfulboolean

Whether all searches completed successfully. False if any query failed