Glossary
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.
The authentication method used by an auth config, such as OAUTH2, API_KEY, BEARER_TOKEN, or BASIC.
The URL a user is redirected to after completing an OAuth flow through a Connect Link. Passed as callbackUrl when initiating authentication.
A project-scoped secret used to authenticate SDK and API requests. All resources created with it are scoped to that project.
The default mode where Composio provides its own OAuth app credentials for each toolkit. No setup required.
A hosted page where a user authorizes access to a toolkit. Returned as a redirect_url from session.authorize() or connectedAccounts.initiate(). Composio manages the full OAuth flow.
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_.
The object returned when you initiate authentication. Contains the Connect Link URL and a waitForConnection() method that resolves once the user completes the flow.
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.
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.
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.
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.
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.
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.
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.
The top-level Composio account entity. Contains team members and projects.
A key (x-org-api-key) for organization-level operations like creating and managing projects. Distinct from the project-scoped Composio API Key.
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_.
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.
An adapter package that transforms Composio tools into the format expected by an AI framework (OpenAI, Anthropic, LangChain, Vercel AI SDK, etc.).
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().
Unique identifier for a session. Used internally by meta tools to share context across calls within the same session.
An individual action an agent can execute. Has an input schema and output schema. Named {TOOLKIT}_{ACTION} (e.g., GITHUB_CREATE_ISSUE).
A tool's unique identifier, following the {TOOLKIT}_{ACTION} pattern, e.g. GITHUB_CREATE_ISSUE.
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.
The lowercase identifier for a toolkit, e.g. github, gmail, slack. Used when configuring sessions, fetching tools, or creating triggers.
Pinning a toolkit to a specific version so your integration uses a consistent set of tools even as Composio updates definitions.
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).
A specific, active trigger scoped to a user's connected account.
An identifier from your application that Composio uses to scope connected accounts, tool executions, and authorizations. Connections are fully isolated between user IDs.
Customizing the auth experience so users see your brand during the OAuth flow. You provide your own OAuth credentials, redirect URIs, and branding.
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.