Skip to main content

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

The Toolkits 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:
Categories help organize toolkits by their primary function, such as:
  • 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

The authorize method provides a convenient way to connect a user to a toolkit:

How Authorization Works

  1. Checks if an auth config exists for the toolkit
  2. If not found and an authConfigId is provided, uses that
  3. If no auth config exists, creates one using Composio-managed authentication
  4. Creates a connection request for the user
  5. Returns a ConnectionRequest object
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 description
  • logo - Toolkit logo URL
  • categories - Array of categories the toolkit belongs to
  • authConfigDetails - Available authentication schemes and their requirements
  • isLocal - Whether the toolkit runs locally
  • isDeprecated - Whether the toolkit is deprecated
  • documentation - Link to toolkit documentation

Authentication Config Details

The authConfigDetails 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 exist
  • ComposioToolkitFetchError - Error fetching toolkits from the API
  • ComposioAuthConfigNotFoundError - No auth config found for the toolkit
  • ValidationError - Invalid parameters passed to toolkit methods

Example Error Handling

Use Cases

Discover Available Tools for a Service

Check Authentication Requirements

Browse Toolkits by Category