Glossary

Markdown
Auth Config

A blueprint defining how authentication works for a toolkit: auth method (OAuth2, API key, Bearer token, Basic Auth), scopes, and credentials. Created automatically by a session when needed. You can create a custom one to use your own OAuth credentials or non-default scopes.

Auth Scheme

The authentication method used by an auth config, such as OAUTH2, API_KEY, BEARER_TOKEN, or BASIC.

Callback URL

The URL a user is redirected to after completing an OAuth flow through a Connect Link. Passed as callbackUrl when initiating authentication.

Composio API Key

A project-scoped secret used to authenticate SDK and API requests. All resources created with it are scoped to that project.

Composio Managed Auth

The default mode where Composio provides its own OAuth app credentials for each toolkit. No setup required.

Connected Account

Created when a user authenticates with a toolkit. Stores credentials (OAuth tokens or API keys) linked to a user ID. Composio automatically refreshes OAuth tokens. A user can have multiple connected accounts for the same toolkit. IDs are prefixed ca_.

Connection Request

The object returned when you initiate authentication. Contains the Connect Link URL and a waitForConnection() method that resolves once the user completes the flow.

Custom Tool

A user-defined tool used alongside Composio's built-in tools. Can be standalone (no auth) or toolkit-based (authenticated API requests). Stored in memory, must be recreated on restart.

In-Chat Authentication

A flow where the AI agent handles authentication by calling COMPOSIO_MANAGE_CONNECTIONS to generate a Connect Link and send it to the user in the conversation.

MCP (Model Context Protocol)

An open protocol for connecting AI models to external tools. Every session exposes session.mcp.url and session.mcp.headers, an MCP-compatible endpoint any MCP client can connect to.

Manual Authentication

Authenticating users from your own code using session.authorize() or connectedAccounts.initiate(), as opposed to letting the AI agent handle it via in-chat authentication.

Meta Tools

A set of tools included in every session, including COMPOSIO_SEARCH_TOOLS, COMPOSIO_MANAGE_CONNECTIONS, COMPOSIO_MULTI_EXECUTE_TOOL, COMPOSIO_REMOTE_WORKBENCH, and COMPOSIO_REMOTE_BASH_TOOL. They let the agent discover tools, manage auth, execute in parallel, and run code without loading hundreds of tool definitions upfront.

Modifiers

Middleware that transforms tool behavior: schema modifiers change a tool's schema before the agent sees it, before-execution modifiers modify arguments before a tool runs, after-execution modifiers transform the result.

Native Tools

Tools accessed through provider packages via session.tools(), as opposed to connecting via MCP (session.mcp.url). Both methods give the agent the same capabilities, but native tools integrate directly with your AI framework.

Organization

The top-level Composio account entity. Contains team members and projects.

Organization API Key

A key (x-org-api-key) for organization-level operations like creating and managing projects. Distinct from the project-scoped Composio API Key.

Project

An isolated environment within an organization that scopes API keys, connected accounts, auth configs, and webhooks. Resources in one project are inaccessible from another. IDs are prefixed proj_.

Proxy Execute

Making authenticated HTTP requests through a toolkit's connected account without a predefined tool. Useful for API endpoints Composio doesn't have a built-in tool for.

Provider

An adapter package that transforms Composio tools into the format expected by an AI framework (OpenAI, Anthropic, LangChain, Vercel AI SDK, etc.).

Session

An ephemeral configuration object from composio.create(userId). Ties together a user ID, available toolkits, auth config, and connected accounts. Immutable. Exposes tools(), mcp.url, authorize(), and toolkits().

Session ID

Unique identifier for a session. Used internally by meta tools to share context across calls within the same session.

Tool

An individual action an agent can execute. Has an input schema and output schema. Named {TOOLKIT}_{ACTION} (e.g., GITHUB_CREATE_ISSUE).

Tool Slug

A tool's unique identifier, following the {TOOLKIT}_{ACTION} pattern, e.g. GITHUB_CREATE_ISSUE.

Toolkit

A collection of related tools for a single external service. Users connect to a toolkit via authentication, and all its tools execute with the user's credentials.

Toolkit Slug

The lowercase identifier for a toolkit, e.g. github, gmail, slack. Used when configuring sessions, fetching tools, or creating triggers.

Toolkit Versioning

Pinning a toolkit to a specific version so your integration uses a consistent set of tools even as Composio updates definitions.

Trigger

Sends structured payloads to your application when something happens in a connected app. Two delivery types: webhook (the app pushes events in real time, e.g. GitHub, Slack) and polling (Composio periodically checks for new data, e.g. Gmail).

Trigger Instance

A specific, active trigger scoped to a user's connected account.

User ID

An identifier from your application that Composio uses to scope connected accounts, tool executions, and authorizations. Connections are fully isolated between user IDs.

White-Labeling

Customizing the auth experience so users see your brand during the OAuth flow. You provide your own OAuth credentials, redirect URIs, and branding.

Workbench

A persistent Python sandbox via the COMPOSIO_REMOTE_WORKBENCH meta tool. State persists across calls within a session. Used for bulk operations, data transformations, and processing large tool responses.