connect
Use Cautionnpx machina-cli add skill ComposioHQ/awesome-claude-skills/connect --openclawConnect
Connect Claude to any app. Stop generating text about what you could do - actually do it.
When to Use This Skill
Use this skill when you need Claude to:
- Send that email instead of drafting it
- Create that issue instead of describing it
- Post that message instead of suggesting it
- Update that database instead of explaining how
What Changes
| Without Connect | With Connect |
|---|---|
| "Here's a draft email..." | Sends the email |
| "You should create an issue..." | Creates the issue |
| "Post this to Slack..." | Posts it |
| "Add this to Notion..." | Adds it |
Supported Apps
1000+ integrations including:
- Email: Gmail, Outlook, SendGrid
- Chat: Slack, Discord, Teams, Telegram
- Dev: GitHub, GitLab, Jira, Linear
- Docs: Notion, Google Docs, Confluence
- Data: Sheets, Airtable, PostgreSQL
- CRM: HubSpot, Salesforce, Pipedrive
- Storage: Drive, Dropbox, S3
- Social: Twitter, LinkedIn, Reddit
Setup
1. Get API Key
Get your free key at platform.composio.dev
2. Set Environment Variable
export COMPOSIO_API_KEY="your-key"
3. Install
pip install composio # Python
npm install @composio/core # TypeScript
Done. Claude can now connect to any app.
Examples
Send Email
Email sarah@acme.com - Subject: "Shipped!" Body: "v2.0 is live, let me know if issues"
Create GitHub Issue
Create issue in my-org/repo: "Mobile timeout bug" with label:bug
Post to Slack
Post to #engineering: "Deploy complete - v2.4.0 live"
Chain Actions
Find GitHub issues labeled "bug" from this week, summarize, post to #bugs on Slack
How It Works
Uses Composio Tool Router:
- You ask Claude to do something
- Tool Router finds the right tool (1000+ options)
- OAuth handled automatically
- Action executes and returns result
Code
from composio import Composio
from claude_agent_sdk.client import ClaudeSDKClient
from claude_agent_sdk.types import ClaudeAgentOptions
import os
composio = Composio(api_key=os.environ["COMPOSIO_API_KEY"])
session = composio.create(user_id="user_123")
options = ClaudeAgentOptions(
system_prompt="You can take actions in external apps.",
mcp_servers={
"composio": {
"type": "http",
"url": session.mcp.url,
"headers": {"x-api-key": os.environ["COMPOSIO_API_KEY"]},
}
},
)
async with ClaudeSDKClient(options) as client:
await client.query("Send Slack message to #general: Hello!")
Auth Flow
First time using an app:
To send emails, I need Gmail access.
Authorize here: https://...
Say "connected" when done.
Connection persists after that.
Framework Support
| Framework | Install |
|---|---|
| Claude Agent SDK | pip install composio claude-agent-sdk |
| OpenAI Agents | pip install composio openai-agents |
| Vercel AI | npm install @composio/core @composio/vercel |
| LangChain | pip install composio-langchain |
| Any MCP Client | Use session.mcp.url |
Troubleshooting
- Auth required → Click link, authorize, say "connected"
- Action failed → Check permissions in target app
- Tool not found → Be specific: "Slack #general" not "send message"
<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>
Source
git clone https://github.com/ComposioHQ/awesome-claude-skills/blob/master/connect/SKILL.mdView on GitHub Overview
Connect Claude to Gmail, Slack, GitHub, Notion, and 1000+ services to perform actions in external apps. It enables Claude to execute real tasks like sending emails, creating issues, posting messages, and updating databases, rather than merely drafting or describing them.
How This Skill Works
It uses the Composio Tool Router to map a user request to the correct external tool. After you ask Claude to perform an action, the router selects the right integration, OAuth is handled automatically, and the action runs and returns the result.
When to Use It
- Send a real email via Gmail instead of drafting one
- Create a GitHub issue directly in a repo
- Post a message to Slack instead of just suggesting it
- Update a Notion database entry automatically
- Chain actions across 1000+ apps for end-to-end workflows
Quick Start
- Step 1: Get API Key from platform.composio.dev
- Step 2: Set environment variable COMPOSIO_API_KEY with your key
- Step 3: Install the required libraries for your stack and start using the Connect skill
Best Practices
- Be explicit about the target and action (for example, email to a recipient, issue in a repo)
- Verify the app and resource identifiers before triggering the action
- Ensure OAuth permissions are granted and token scopes are up to date
- Test non-destructive actions first and review results
- Guard sensitive data and avoid leaking credentials in prompts
Example Use Cases
- Send Email: deliver a message to a recipient with a subject and body
- Create GitHub Issue: in a repo with a specific title and label
- Post to Slack: send a message to a channel
- Chain Actions: find GitHub issues labeled bug from this week, summarize, post to a Slack channel
- Update Notion: add a new row to a database with key fields