Core Concepts
Reasoning
Memory & Retrieval
Agent Types
Design Patterns
Training & Alignment
Frameworks
Tools
Safety & Security
Evaluation
Meta
Core Concepts
Reasoning
Memory & Retrieval
Agent Types
Design Patterns
Training & Alignment
Frameworks
Tools
Safety & Security
Evaluation
Meta
Composio is a developer-first tool integration platform that connects AI agents to over 250 pre-built integrations across 900+ SaaS applications. It handles the hardest parts of agent-tool interaction — managed authentication (OAuth, API keys), action execution, error handling, and observability — so developers can focus on agent logic. Compatible with OpenAI, LangChain, CrewAI, AutoGen, and LlamaIndex, Composio provides a unified API and MCP gateway for production-grade agent tooling.
Composio's architecture is built on three pillars:
Composio's AgentAuth eliminates the need to build OAuth flows. Connect apps through the Composio dashboard or API, and the platform manages:
Execute any tool action with a single API call:
client.actions.execute() for direct programmatic accessComposio integrates with all major agent frameworks:
| Framework | Integration Method |
|---|---|
| OpenAI | hostedMcpTool() with Composio MCP endpoint |
| LangChain | Single-line tool injection from Composio client |
| CrewAI | ComposioToolSet provider for crew agents |
| AutoGen | Per-agent tool distribution with separate auth |
| LlamaIndex | Direct tool injection for query engines |
Entities (via entity_id) tie tools and credentials to specific users:
Event-driven triggers listen for changes in connected apps:
from composio_openai import ComposioToolSet, Action from openai import OpenAI # Initialize clients openai_client = OpenAI() composio_toolset = ComposioToolSet() # Get GitHub tools for the agent tools = composio_toolset.get_tools( actions=[Action.GITHUB_CREATE_ISSUE, Action.GITHUB_LIST_REPOS] ) # Create an assistant with Composio tools assistant = openai_client.beta.assistants.create( name="DevOps Agent", instructions="You help manage GitHub repositories and issues.", model="gpt-4o", tools=tools, ) # Create a thread and run thread = openai_client.beta.threads.create() message = openai_client.beta.threads.messages.create( thread_id=thread.id, role="user", content="Create a GitHub issue in 'my-org/my-repo' titled 'Fix login bug' with a description of the authentication timeout problem." ) run = openai_client.beta.threads.runs.create( thread_id=thread.id, assistant_id=assistant.id, ) # Composio handles the tool execution and GitHub API auth result = composio_toolset.wait_and_handle_assistant_tool_calls( client=openai_client, run=run, thread=thread, ) print(result)