Tools and toolkits
Composio offers 1000+ toolkits, but loading all the tools into context would overwhelm your agent. Instead, your agent has access to meta tools that discover, authenticate, and execute the right tools at runtime.
Meta tools
When you create a session, your agent gets these meta tools:
| Meta tool | What it does |
|---|---|
COMPOSIO_SEARCH_TOOLS | Discover relevant tools across 500+ apps with execution plans |
COMPOSIO_GET_TOOL_SCHEMAS | Retrieve complete input schemas for specific tools |
COMPOSIO_MULTI_EXECUTE_TOOL | Execute up to 50 tools in parallel |
COMPOSIO_MANAGE_CONNECTIONS | Handle OAuth, API key, and other authentication methods |
COMPOSIO_REMOTE_WORKBENCH | Run Python code in a persistent sandbox |
COMPOSIO_REMOTE_BASH_TOOL | Execute bash commands for file and data processing |
See the Meta Tools Reference for complete input/output schemas and details.
Meta tool calls in a session are correlated using a session_id, allowing them to share context. The tools can also store useful information (like IDs and relationships discovered during execution) in memory for subsequent calls.
How it works
User: "Create a GitHub issue for this bug"
↓
1. Agent calls COMPOSIO_SEARCH_TOOLS
→ Returns GITHUB_CREATE_ISSUE with input schema
→ Returns connection status: "not connected"
→ Returns execution plan and tips
↓
2. Agent calls COMPOSIO_MANAGE_CONNECTIONS (because not connected)
→ Returns auth link for GitHub
→ User clicks link and authenticates
↓
3. Agent calls COMPOSIO_MULTI_EXECUTE_TOOL
→ Executes GITHUB_CREATE_ISSUE with arguments
→ Returns the created issue details
↓
Done. (For large results, agent can use REMOTE_WORKBENCH to process)What SEARCH_TOOLS returns
COMPOSIO_SEARCH_TOOLS returns:
- Tools with schemas - Matching tools with their slugs, descriptions, and input parameters
- Connection status - Whether the user has already authenticated with each toolkit
- Execution plan - Recommended steps and common pitfalls for the task
- Related tools - Prerequisites, alternatives, and follow-up tools
Processing large results
For most tasks, COMPOSIO_MULTI_EXECUTE_TOOL returns results directly. But when dealing with large responses or bulk operations, your agent uses the workbench tools:
-
COMPOSIO_REMOTE_WORKBENCH- Run Python code in a persistent sandbox. Use for bulk operations (e.g., labeling 100 emails), complex data transformations, or when results need further analysis with helper functions likeinvoke_llm. -
COMPOSIO_REMOTE_BASH_TOOL- Execute bash commands for simpler file operations and data extraction using tools likejq,awk,sed, andgrep.
Toolkits and tools
A toolkit is a collection of related tools for a service. For example, the github toolkit contains tools for creating issues, managing pull requests, and starring repositories.
A tool is an individual action your agent can execute. Each tool has an input schema (required and optional parameters) and an output schema (what it returns). Tools follow a {TOOLKIT}_{ACTION} naming pattern, like GITHUB_CREATE_ISSUE.
If you know exactly which tools you need, you can execute them directly without meta tools.
Default toolkit access
Authentication
Tools execute with the user's authenticated credentials. When a user connects their GitHub account, all GitHub tools run with their permissions.
If a tool requires authentication and the user hasn't connected yet, the agent can use COMPOSIO_MANAGE_CONNECTIONS to prompt them.
Authentication
Learn how Composio handles user authentication