Composio
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.

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.

Wire your agents to
everything your team uses.

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

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

TokenSampleSpec
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

Badges
NEW LIVE BETA
Toolkit card
$

Stripe

24 actions · customers, invoices

Text input
View DESIGN.md ↗