NEW 250+ toolkits, one auth layer

# The tool-use
layer for your
AI agents.

Composio gives agents authenticated access to 250+ apps — Slack, GitHub, Stripe, Linear, Gmail — with managed OAuth, rate-limits, and per-user scopes.

Get started
Read the docs
agent.py
from composio import Composio
tools = composio.get_tools(
user_id="alice@acme.com",
toolkits=["slack", "github"],
)
# auth, rate-limits handled
result = agent.run(tools=tools)
output.log
[12:08:14] connecting to composio...
[12:08:14] auth check ok
[12:08:15] loading 28 tools
→ slack.send_message
channel: "#eng"
text: "deploy green ✅"
✓ sent in 142ms
→ github.create_issue
✓ #3221 created
trace.json
{
"trace_id": "trc_8f3...",
"agent": "ops-bot",
"calls": 12,
"latency_ms": 1842,
"tokens": 4_521,
"cost_usd": 0.0184
}
$ composio
$ composio toolkit ls
slack 28 actions
github 42 actions
linear 19 actions
notion 31 actions
stripe 24 actions
gmail 14 actions
# 244 more, run `--all`
Why Composio

## Authenticated tool-use,
solved.

Stop writing OAuth flows, rate-limit retries, and per-user token storage. Compose tools — we run the plumbing.

### Managed auth

OAuth flows, refresh tokens, per-user credential storage — handled. Bring your client IDs, ship without storing secrets.

### 250+ toolkits

Slack, GitHub, Stripe, Linear, Notion, Salesforce — every integration your agent will reach for, with consistent schemas.

### Built-in observability

Every tool call is traced, logged, and replayable. Debug agent runs without rebuilding your tracing layer.

Toolkits

## Connect to anything your
agent might need.

250+ apps with consistent action schemas — and an SDK to add your own.

#

#### Slack

28 actions · channels, DMs, search

#### GitHub

42 actions · issues, PRs, CI

$

#### Stripe

24 actions · customers, invoices

⌘

#### Linear

19 actions · issues, projects

N

#### Notion

31 actions · pages, databases

M

#### Gmail

14 actions · send, search, label

⬢

#### HubSpot

22 actions · contacts, deals

+

#### 244 more

See full registry →

Drop-in SDK

## Three lines, twenty apps.

# Python — works with OpenAI, Anthropic, LangGraph, CrewAI, ADK from composio import Composio from openai import OpenAI composio = Composio(api_key="comp_...") openai = OpenAI() tools = composio.get_tools( user_id="alice@acme.com", toolkits=["slack", "linear", "github"], ) response = openai.chat.completions.create( model="gpt-5", tools=tools, messages=[{"role": "user", "content": "file last week's bugs as a Linear cycle"}], )

### Build agents that actually do work.

Composio handles auth, rate-limits, retries and traces. You write three lines of Python.

Get an API key View toolkit registry

## Wire your agents to
everything your team uses.

Free for the first 10,000 tool calls. No credit card.

Get started
Book a demo
Design system

## The reference.

Tokens, type, components — the dark dev-tool chrome.

### Color

Brand & Voltage
primary · Composio Blue
#0007cd
primary-active
#0005a3
primary-glow
#1a26ff
Surface ladder (brightness-step elevation)
canvas-deep
#000000
canvas
#0f0f0f
surface-card
#181818
surface-card-elevated
#222222
surface-strong
#2a2a2a
Text & Semantic
ink / body-strong
#ffffff
body
#a8a8a8
muted
#888888
accent-cyan
#00d4ff
success
#33d17a

### Typography

Token | Sample | Spec
--- | --- | ---
display-mega | The tool-use layer. | Inter · 72 / 500 · -2.16px
display-lg | Authenticated tool-use, solved. | Inter · 44 / 500 · -1.32px
title-md | Managed auth | Inter · 18 / 600
body-md | Stop writing OAuth flows and rate-limit retries. | Inter · 16 / 400 · 1.5
caption-uppercase | Why Composio | Inter · 11 / 600 · +0.88px
code | composio.get_tools(user_id=...) | JetBrains Mono · 13 / 400
button | Get started | Inter · 14 / 500 · 1

### Radius

xs
4px
sm
6px
md · CTA
8px
lg · toolkit cards
12px
xl · feature cards
16px
pill · badges
9999px

### Components

Buttons
Get started Docs Sign in
Badges
NEW LIVE BETA
Toolkit card
$

#### Stripe

24 actions · customers, invoices

Text input
View DESIGN.md ↗