Composio — Tool Platform for AI Agents
You are an expert in Composio, the platform that gives AI agents access to 250+ external tools and APIs with managed authentication. You help developers connect agents to GitHub, Slack, Gmail, Jira, Notion, Salesforce, and 200+ more services — handling OAuth flows, API key management, and rate limiting so agents can take real-world actions.
Core Capabilities
from composio_openai import ComposioToolSet, Action
from openai import OpenAI
client = OpenAI()
toolset = ComposioToolSet()
# Get tools for specific actions
tools = toolset.get_tools(actions=[
Action.GITHUB_CREATE_ISSUE,
Action.SLACK_SEND_MESSAGE,
Action.GMAIL_SEND_EMAIL,
Action.NOTION_CREATE_PAGE,
])
# Use with OpenAI function calling
response = client.chat.completions.create(
model="gpt-4o",
tools=tools,
messages=[{"role": "user", "content": "Create a GitHub issue in myorg/myrepo titled 'Fix login bug' and notify #dev-team on Slack"}],
)
# Execute tool calls
toolset.handle_tool_calls(response)
# → Creates GitHub issue AND sends Slack message, with proper auth for both
# With CrewAI
from crewai import Agent
agent = Agent(
role="DevOps Assistant",
tools=toolset.get_tools(apps=["github", "slack", "linear"]),
)
# Auth management
toolset.initiate_connection(app="github", auth_scheme="oauth2")
# Returns OAuth URL → user authorizes → Composio stores tokens → agent uses them
Installation
pip install composio-openai composio-crewai composio-langchain
composio login # Authenticate
composio add github # Connect GitHub account
Best Practices
- Managed auth — Composio handles OAuth, API keys, token refresh; agents don't see credentials
- 250+ integrations — GitHub, Slack, Gmail, Notion, Jira, Linear, Salesforce, HubSpot, etc.
- Framework support — Works with OpenAI, LangChain, CrewAI, Autogen, Mastra; same tool definitions
- Action-level control — Grant specific actions, not full API access;
GITHUB_CREATE_ISSUE not GITHUB_*
- Triggers — Set up event triggers (new email, PR created); agent reacts to real-world events
- Custom tools — Add your own APIs alongside built-in integrations; same auth management
- Rate limiting — Composio handles provider rate limits; queues and retries automatically
- Multi-user — Each user has their own OAuth connections; agents act on behalf of the right user
1---2name: composio3description: You are an expert in Composio, the platform that gives AI agents access to 250+ external tools and APIs with managed authentication. You help developers connect agents to GitHub, Slack, Gmail, Jira, Notion, Salesforce, and 200+ more services — handling OAuth flows, API key management, and rate limiting so agents can take real-world actions.4license: Apache-2.05---67# Composio — Tool Platform for AI Agents89You are an expert in Composio, the platform that gives AI agents access to 250+ external tools and APIs with managed authentication. You help developers connect agents to GitHub, Slack, Gmail, Jira, Notion, Salesforce, and 200+ more services — handling OAuth flows, API key management, and rate limiting so agents can take real-world actions.1011## Core Capabilities1213```python14from composio_openai import ComposioToolSet, Action15from openai import OpenAI1617client = OpenAI()18toolset = ComposioToolSet()1920# Get tools for specific actions21tools = toolset.get_tools(actions=[22 Action.GITHUB_CREATE_ISSUE,23 Action.SLACK_SEND_MESSAGE,24 Action.GMAIL_SEND_EMAIL,25 Action.NOTION_CREATE_PAGE,26])2728# Use with OpenAI function calling29response = client.chat.completions.create(30 model="gpt-4o",31 tools=tools,32 messages=[{"role": "user", "content": "Create a GitHub issue in myorg/myrepo titled 'Fix login bug' and notify #dev-team on Slack"}],33)3435# Execute tool calls36toolset.handle_tool_calls(response)37# → Creates GitHub issue AND sends Slack message, with proper auth for both3839# With CrewAI40from crewai import Agent41agent = Agent(42 role="DevOps Assistant",43 tools=toolset.get_tools(apps=["github", "slack", "linear"]),44)4546# Auth management47toolset.initiate_connection(app="github", auth_scheme="oauth2")48# Returns OAuth URL → user authorizes → Composio stores tokens → agent uses them49```5051## Installation5253```bash54pip install composio-openai composio-crewai composio-langchain55composio login # Authenticate56composio add github # Connect GitHub account57```5859## Best Practices60611. **Managed auth** — Composio handles OAuth, API keys, token refresh; agents don't see credentials622. **250+ integrations** — GitHub, Slack, Gmail, Notion, Jira, Linear, Salesforce, HubSpot, etc.633. **Framework support** — Works with OpenAI, LangChain, CrewAI, Autogen, Mastra; same tool definitions644. **Action-level control** — Grant specific actions, not full API access; `GITHUB_CREATE_ISSUE` not `GITHUB_*`655. **Triggers** — Set up event triggers (new email, PR created); agent reacts to real-world events666. **Custom tools** — Add your own APIs alongside built-in integrations; same auth management677. **Rate limiting** — Composio handles provider rate limits; queues and retries automatically688. **Multi-user** — Each user has their own OAuth connections; agents act on behalf of the right user