connect

Connect Claude to any app. Send emails, create issues, post messages, update databases - take real actions across Gmail, Slack, GitHub, Notion, and 1000+ services.

View Source
name:connectdescription:Connect Claude to any app. Send emails, create issues, post messages, update databases - take real actions across Gmail, Slack, GitHub, Notion, and 1000+ services.

Connect

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 ConnectWith 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

    FrameworkInstall
    Claude Agent SDKpip install composio claude-agent-sdk
    OpenAI Agentspip install composio openai-agents
    Vercel AInpm install @composio/core @composio/vercel
    LangChainpip install composio-langchain
    Any MCP ClientUse 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"


  • Join 20,000+ developers building agents that ship



    Get Started