Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ComposioHQ/composio/llms.txt

Use this file to discover all available pages before exploring further.

The Toolkits class lets you discover and inspect Composio’s catalog of integrations. Each toolkit groups a set of related tools (e.g., all GitHub operations) under a common slug and authentication scheme. Use composio.toolkits.get() to browse the catalog or retrieve a specific integration’s metadata before configuring authentication.

toolkits.get() — retrieve a single toolkit

composio.toolkits.get(slug: string): Promise<ToolkitRetrieveResponse>
slug
string
required
Toolkit slug identifier (e.g. 'github', 'slack', 'gmail').

ToolkitRetrieveResponse

slug
string
Unique toolkit identifier used throughout the SDK.
name
string
Human-readable toolkit name (e.g. 'GitHub').
description
string
Short description of what the toolkit does.
URL of the toolkit’s logo image.
authConfigDetails
array
List of available authentication schemes for this toolkit. Each item describes a supported auth mode (OAUTH2, API_KEY, etc.) and the fields required to create an auth config.
categories
string[]
Category tags for the toolkit (e.g. ['developer-tools', 'version-control']).

toolkits.get() — list toolkits

composio.toolkits.get(query?: ToolkitListParams): Promise<ToolKitListResponse>
query
ToolkitListParams
Filter and pagination options.

ToolKitListResponse

items
ToolkitRetrieveResponse[]
Array of toolkit objects for the current page.
nextCursor
string | null
Cursor to pass as cursor in the next request for subsequent pages. null when there are no more pages.
totalPages
number
Total number of pages available.

toolkits.authorize()

A convenience method that creates an auth config (if none exists) and initiates a connection request in a single call. Ideal for quickly onboarding a user to a toolkit without managing auth configs manually.
composio.toolkits.authorize(
  userId: string,
  toolkitSlug: string,
  authConfigId?: string
): Promise<ConnectionRequest>
userId
string
required
External user identifier.
toolkitSlug
string
required
Toolkit to authorize (e.g. 'github').
authConfigId
string
Use a specific auth config instead of auto-selecting the first available one.
Returns a ConnectionRequest. Call connectionRequest.waitForConnection() to poll until the user completes the OAuth flow.

toolkits.listCategories()

Retrieve all available toolkit category tags.
composio.toolkits.listCategories(): Promise<ToolkitRetrieveCategoriesResponse>

toolkits.getAuthConfigCreationFields()

Retrieve the fields needed to create an auth config for a given toolkit and auth scheme.
composio.toolkits.getAuthConfigCreationFields(
  toolkitSlug: string,
  authScheme: AuthSchemeType,
  options?: { requiredOnly?: boolean }
): Promise<ToolkitAuthFieldsResponse>

toolkits.getConnectedAccountInitiationFields()

Retrieve the fields needed to initiate a connected account for a given toolkit and auth scheme.
composio.toolkits.getConnectedAccountInitiationFields(
  toolkitSlug: string,
  authScheme: AuthSchemeType,
  options?: { requiredOnly?: boolean }
): Promise<ToolkitAuthFieldsResponse>

Examples

import { Composio } from '@composio/core';

const composio = new Composio();

// List all toolkits (paginated)
const page1 = await composio.toolkits.get({ limit: 20 });
console.log(`Found ${page1.items.length} toolkits (page 1 of ${page1.totalPages})`);

// Fetch next page
if (page1.nextCursor) {
  const page2 = await composio.toolkits.get({
    limit: 20,
    cursor: page1.nextCursor,
  });
}

Build docs developers (and LLMs) love