composio-langchain package wraps Composio tools as LangChain tools and works with LangChain’s current create_agent API.
Overview
Integration details
See the Composio JS integration docs for JavaScript and TypeScript usage.
Tool features
- 1,000+ toolkits and 20,000+ tools: Prebuilt integrations for GitHub, Slack, Gmail, Jira, Notion, and more, available through MCP or direct APIs.
- Authentication management: Handles OAuth flows, API keys, and authentication state.
- Event-driven workflows: Trigger agents based on external events, such as new Slack messages or GitHub commits.
- Fine-grained permissions: Control tool access and data exposure per user.
- Enterprise controls: Supports governance, auditability, SSO, org-wide controls, and SOC 2 / ISO 27001:2022 certifications for enterprise security reviews.
- Custom tool support: Add proprietary APIs and internal tools.
Setup
The integration lives in thecomposio-langchain package.
Credentials
You will need a Composio API key. Sign up at composio.dev to get your API key.Instantiation
Initialize Composio with the LangChain provider. Create a session for the user and toolkit set you want the agent to access:session.tools() returns Composio router tools such as COMPOSIO_SEARCH_TOOLS, COMPOSIO_GET_TOOL_SCHEMAS, and COMPOSIO_MANAGE_CONNECTIONS. The agent uses these tools to discover concrete toolkit tools, inspect schemas, manage authentication, and execute actions.
Available toolkits
Composio provides toolkits for many services:
See the Composio toolkits catalog for the complete list.
Invocation
Discover tools
Usesession.search(...) to inspect matching concrete toolkit tools and connection status before asking an agent to execute anything:
COMPOSIO_MANAGE_CONNECTIONS, or you can create an authorization link yourself as shown in Authentication setup.
Low-level tool loading
For most agent workflows, prefercomposio.create(...) and session.tools(). The lower-level composio.tools.get(...) API is also available when you want to load direct tool lists yourself:
Use within an agent
Here’s a complete, read-only example using Composio tools with a LangChain agent. It asks the model to inspect available GitHub profile-reading tools without mutating external state.Authentication setup
Tools that access a user’s external account require that user to connect the corresponding toolkit. For manual authentication, create a connection request from the session:user_id can use that connected account.
For in-chat authentication, allow the agent to call COMPOSIO_MANAGE_CONNECTIONS when a toolkit has no active connection. The agent can then guide the user through connecting the required account before executing toolkit actions.
Multi-user scenarios
Use a stableuser_id for each application user. Each user connects their own accounts, and Composio executes toolkit actions using the credentials associated with that user_id.
Event-driven workflows
Composio supports triggering agents based on external events. When events occur in connected apps, such as new GitHub commits or Slack messages, triggers can send structured payloads to your application.Inspect trigger configuration
Before creating a trigger, inspect the required configuration:Create a trigger
Create triggers after the relevant account is connected and you have the required configuration:Webhooks
For production, configure webhooks in the Composio dashboard:Custom tools
Composio allows you to create custom tools that can be used alongside built-in tools.API reference
For detailed documentation of Composio features and configuration options, see:Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

