Connect Apps
Connect Claude to 1000+ apps using the Composio CLI. Actually send emails, create issues, post messages - not just generate text about it.
Quick Start
Step 1: Install the Composio CLI
curl -fsSL https://composio.dev/install | bash
Step 2: Log In
composio login
composio whoami
Opens a browser for auth, then prompts you to pick a default org and project. Use -y to skip prompts in scripts.
Step 3: Link the Apps You Need
composio link gmail
composio link slack
composio link github
Each command walks OAuth once; the connection then persists.
Step 4: Try It
composio execute GMAIL_SEND_EMAIL -d '{
"recipient_email": "YOUR_EMAIL@example.com",
"subject": "Composio test",
"body": "Hello from the CLI"
}'
If the email arrives, you're connected.
What You Can Do
| Ask Claude to... | Claude runs |
|------------------|-------------|
| "Send email to sarah@acme.com about the launch" | composio execute GMAIL_SEND_EMAIL -d '{...}' |
| "Create GitHub issue: fix login bug" | composio execute GITHUB_CREATE_ISSUE -d '{...}' |
| "Post to Slack #general: deploy complete" | composio execute SLACK_SEND_MESSAGE -d '{...}' |
| "Add meeting notes to Notion" | composio execute NOTION_CREATE_PAGE -d '{...}' |
Core Workflow
- Know the tool slug? →
composio execute <SLUG> -d '{...}' - Don't know it? →
composio search "what you want" - Need inputs? →
composio execute <SLUG> --get-schemaor--dry-run - Not connected? →
composio link <toolkit>and retry - Multi-step? →
composio runfor JS/TS workflows,composio proxyfor raw API
Supported Apps
Email: Gmail, Outlook, SendGrid Chat: Slack, Discord, Teams, Telegram Dev: GitHub, GitLab, Jira, Linear Docs: Notion, Google Docs, Confluence Data: Sheets, Airtable, PostgreSQL And 1000+ more...
Handy Commands
# Discover tools
composio search "create a github issue"
composio tools list gmail
composio tools info GITHUB_CREATE_ISSUE
# Inspect / dry-run before executing
composio execute GITHUB_CREATE_ISSUE --get-schema
composio execute GITHUB_CREATE_ISSUE --dry-run -d '{"owner":"acme","repo":"app","title":"Bug"}'
# Execute in parallel
composio execute --parallel \
GMAIL_FETCH_EMAILS -d '{"max_results": 2}' \
GITHUB_GET_THE_AUTHENTICATED_USER -d '{}'
# Multi-step workflow
composio run '
const issue = await execute("GITHUB_CREATE_ISSUE", {
owner: "acme", repo: "app", title: "Bug", body: "..."
});
console.log(issue);
'
# Raw API call when no dedicated tool exists
composio proxy https://gmail.googleapis.com/gmail/v1/users/me/profile --toolkit gmail
Configuration
Environment variables:
COMPOSIO_API_KEY- auth credential for non-interactive useCOMPOSIO_BASE_URL- custom API endpointCOMPOSIO_SESSION_DIR- override artifact storageCOMPOSIO_DISABLE_TELEMETRY=true- opt out
Global flags: --log-level <all|trace|debug|info|warning|error|fatal|none>, --help.
Troubleshooting
Not logged in→ runcomposio loginConnection required for <toolkit>→ runcomposio link <toolkit>- Unknown slug →
composio search "<goal>"orcomposio tools list <toolkit> - Bad inputs →
composio execute <SLUG> --get-schemathen--dry-run - Action failed → check permissions in the target app
Full reference: docs.composio.dev/docs/cli
<p align="center"> <b>Join 20,000+ developers building agents that ship</b> </p> <p align="center"> <a href="https://platform.composio.dev/?utm_source=Github&utm_content=AwesomeSkills"> <img src="https://img.shields.io/badge/Get_Started_Free-4F46E5?style=for-the-badge" alt="Get Started"/> </a> </p>