composio-langgraph
Adapts Composio tools to LangChain's StructuredTool format for use in LangGraph agents and graph workflows, giving them access to 1000+ apps through a single Composio session.
Installation
pip install composio composio-langgraph langgraph langchain langchain-openai
Set COMPOSIO_API_KEY (get one from dashboard.composio.dev/settings) and OPENAI_API_KEY in your environment:
export COMPOSIO_API_KEY=xxxxxxxxx
export OPENAI_API_KEY=xxxxxxxxx
Quickstart
Create a session for your user, fetch its tools, and hand them to your agent. The wrapped tools also work anywhere LangGraph accepts LangChain tools, such as a ToolNode in a custom graph.
from composio import Composio
from composio_langgraph import LanggraphProvider
from langchain.agents import create_agent
from langchain_openai import ChatOpenAI
composio = Composio(provider=LanggraphProvider())
llm = ChatOpenAI(model="gpt-5.2")
# Each session is scoped to one of your users
session = composio.create(user_id="user_123")
tools = session.tools()
agent = create_agent(tools=tools, model=llm)
result = agent.invoke(
{
"messages": [
(
"user",
"Send an email to john@example.com with the subject 'Hello' and body 'Hello from Composio!'",
)
]
}
)
print(result["messages"][-1].content)
Error handling
Each wrapped tool builds its args_schema from the Composio tool's input schema. When argument validation fails, the tool does not raise; it returns a structured result:
{"successful": False, "error": "<validation message>", "data": None}
Check successful in tool output instead of wrapping calls in try/except.
Links
- LangChain provider docs (covers LangGraph)
- Composio documentation
Metadata
Release files for composio-langgraph 0.28.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| composio_langgraph-0.28.0.tar.gz | 3.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| composio_langgraph-0.28.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.0 kB
Release files / composio_langgraph-0.28.0.tar.gz
| Download URL | composio_langgraph-0.28.0.tar.gz |
|---|---|
| Size | 3.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f2c43a9650f4d58b0c777a03e3040ec576e4774658bd6128384f64b58a73e62
|
|
BLAKE2b-256 checksum How to use checksums |
0086631835a84f8e4239f9a52c7c5ccfadb4c4047c0dc7070be049c91003dbb7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / composio_langgraph-0.28.0-py3-none-any.whl
| Download URL | composio_langgraph-0.28.0-py3-none-any.whl |
|---|---|
| Size | 4.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
24e94433ef7bfdebf88bd453f19d617dfec6240a84f06856afb8ca4bf61ff5dd
|
|
BLAKE2b-256 checksum How to use checksums |
684b026a63b9e73e8e59590c47bd21f03898da499498518e8ec5885a2a57244b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|