COMPOSIO_SEARCH_TOOLSImportantExternalRead-onlyDiscovers 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
queriesarrayRequiredStructured English search queries to process in parallel. Split independent app/API actions into separate queries, including hidden prerequisites. Each query returns 4-6 tools.
sessionobjectSession 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.
modelstringClient LLM model name (recommended). Used to optimize planning/search behavior. Ignored if omitted or invalid.
Response
dataobjectData from the action execution
errorstringError if any occurred during the execution. Format: "X out of Y searches failed, reasons: <details>"
successfulbooleanWhether all searches completed successfully. False if any query failed