Toolkits
Toolkits are collections of related tools grouped by service or functionality. For example, the GitHub toolkit contains all GitHub-related tools like creating repositories, managing issues, and handling pull requests.Overview
TheToolkits class manages toolkit operations in the Composio SDK. Toolkits serve as a replacement for the “apps” concept in the Composio API, providing a more organized way to access tools.
Source: ts/packages/core/src/models/Toolkits.ts
Retrieving Toolkits
Get a Specific Toolkit
Retrieve detailed information about a single toolkit:List All Toolkits
Retrieve all available toolkits:Filter Toolkits by Category
Toolkits are organized into categories for easier discovery:Pagination
Handle large toolkit lists with pagination:Toolkit Categories
Retrieve all available toolkit categories:- Communication (Slack, Discord, Email)
- Developer Tools (GitHub, GitLab, Jira)
- Productivity (Google Calendar, Notion, Trello)
- CRM (Salesforce, HubSpot)
- And many more
Authentication Fields
Get Auth Config Creation Fields
Retrieve the fields required to create an auth config for a toolkit:Get Connected Account Initiation Fields
Retrieve the fields required to initiate a connected account:If a toolkit has multiple authentication schemes, you should specify the
authScheme parameter. If not specified, the SDK will use the first available authentication scheme and log a warning.Authorizing Toolkits
Theauthorize method provides a convenient way to connect a user to a toolkit:
How Authorization Works
- Checks if an auth config exists for the toolkit
- If not found and an
authConfigIdis provided, uses that - If no auth config exists, creates one using Composio-managed authentication
- Creates a connection request for the user
- Returns a
ConnectionRequestobject
The
authorize method automatically allows multiple connected accounts per user for an auth config. If you need different behavior, use the connectedAccounts.initiate() method directly.Example: Complete Authorization Flow
Toolkit Properties
Every toolkit object contains:slug- Unique identifier (e.g., ‘github’)name- Human-readable name (e.g., ‘GitHub’)description- Toolkit descriptionlogo- Toolkit logo URLcategories- Array of categories the toolkit belongs toauthConfigDetails- Available authentication schemes and their requirementsisLocal- Whether the toolkit runs locallyisDeprecated- Whether the toolkit is deprecateddocumentation- Link to toolkit documentation
Authentication Config Details
TheauthConfigDetails property contains information about available authentication methods:
Advanced Filtering
Combine multiple filters to find specific toolkits:Error Handling
Common errors when working with toolkits:ComposioToolkitNotFoundError- Toolkit with the given slug doesn’t existComposioToolkitFetchError- Error fetching toolkits from the APIComposioAuthConfigNotFoundError- No auth config found for the toolkitValidationError- Invalid parameters passed to toolkit methods
Example Error Handling
Use Cases
Discover Available Tools for a Service
Check Authentication Requirements
Browse Toolkits by Category
Related Resources
- Tools - Individual actions within toolkits
- Authentication - Configure authentication for toolkits
- Connected Accounts - User connections to toolkits