composio
$
npx mdskill add TerminalSkills/skills/composioConnect AI agents to 250+ tools with managed authentication
- Solve the problem of integrating agents with external services
- Uses GitHub, Slack, Gmail, Jira, Notion, Salesforce, and 200+ APIs
- Handles OAuth flows, API keys, and rate limiting automatically
- Enables agents to perform real-world actions via connected tools
SKILL.md
.github/skills/composioView on GitHub ↗
---
name: composio
description: >-
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.
license: Apache-2.0
compatibility: ''
metadata:
author: terminal-skills
version: 1.0.0
category: AI & Machine Learning
tags:
- agent
- tools
- integrations
- api
- oauth
- actions
- 250-apps
---
# 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
```python
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
```bash
pip install composio-openai composio-crewai composio-langchain
composio login # Authenticate
composio add github # Connect GitHub account
```
## Best Practices
1. **Managed auth** — Composio handles OAuth, API keys, token refresh; agents don't see credentials
2. **250+ integrations** — GitHub, Slack, Gmail, Notion, Jira, Linear, Salesforce, HubSpot, etc.
3. **Framework support** — Works with OpenAI, LangChain, CrewAI, Autogen, Mastra; same tool definitions
4. **Action-level control** — Grant specific actions, not full API access; `GITHUB_CREATE_ISSUE` not `GITHUB_*`
5. **Triggers** — Set up event triggers (new email, PR created); agent reacts to real-world events
6. **Custom tools** — Add your own APIs alongside built-in integrations; same auth management
7. **Rate limiting** — Composio handles provider rate limits; queues and retries automatically
8. **Multi-user** — Each user has their own OAuth connections; agents act on behalf of the right user
More from TerminalSkills/skills