Skip to main content
Toolkits are collections of related tools grouped by service (e.g., GitHub, Slack, Gmail). The Toolkits class provides methods to list, retrieve, and authorize toolkits.

Accessing Toolkits

from composio import Composio

composio = Composio()
toolkits_api = composio.toolkits

Methods

get

Retrieve toolkit information.
# Get a specific toolkit
github = composio.toolkits.get("github")

# Get all toolkits
all_toolkits = composio.toolkits.get()

# Get toolkits with query
toolkits = composio.toolkits.get(query={"category": "productivity"})
slug
str
Toolkit slug to retrieve (e.g., "github", "slack").
query
dict
Query parameters for filtering toolkits.

list

List all available toolkits with filtering and pagination.
toolkits = composio.toolkits.list(
    category="productivity",
    limit=20,
    sort_by="usage"
)
category
str
Filter by toolkit category.
cursor
str
Pagination cursor.
limit
float
Maximum number of results.
sort_by
Literal['usage', 'alphabetically']
Sort order for results.
managed_by
Literal['composio', 'all', 'project']
Filter by management type.

list_categories

List all toolkit categories.
categories = composio.toolkits.list_categories()
for category in categories:
    print(category)

authorize

Authorize a user to use a toolkit (creates connected account).
connection_request = composio.toolkits.authorize(
    user_id="user_123",
    toolkit="github"
)

print(f"Redirect URL: {connection_request.redirect_url}")

# Wait for user to complete OAuth flow
connected_account = connection_request.wait_for_connection()
user_id
str
required
The user ID to authorize.
toolkit
str
required
Toolkit slug to authorize.

get_connected_account_initiation_fields

Get required fields for connecting an account.
fields = composio.toolkits.get_connected_account_initiation_fields(
    toolkit="github",
    auth_scheme="OAUTH2",
    required_only=True
)

get_auth_config_creation_fields

Get required fields for creating an auth config.
fields = composio.toolkits.get_auth_config_creation_fields(
    toolkit="github",
    auth_scheme="OAUTH2"
)

Examples

List All Toolkits

toolkits = composio.toolkits.list()

for toolkit in toolkits.items:
    print(f"{toolkit.name}: {toolkit.slug}")

Get Toolkit Details

github = composio.toolkits.get("github")

print(f"Name: {github.name}")
print(f"Description: {github.description}")
print(f"Logo: {github.logo}")

Authorize User for Toolkit

# Initiate authorization
connection = composio.toolkits.authorize(
    user_id="user_123",
    toolkit="github"
)

# Redirect user to this URL
print(f"Please visit: {connection.redirect_url}")

# Wait for connection (with timeout)
try:
    account = connection.wait_for_connection(timeout=300)
    print(f"Successfully connected: {account.id}")
except ComposioSDKTimeoutError:
    print("Connection timeout")

Filter by Category

productivity_tools = composio.toolkits.list(
    category="productivity",
    limit=10
)

for toolkit in productivity_tools.items:
    print(f"- {toolkit.name}")

Next Steps

Tools

Get tools from toolkits

Connected Accounts

Manage connections

Auth Configs

Configure authentication

Build docs developers (and LLMs) love