# Connecting Claude to External Apps like Gmail and Slack: The Composio Integration Guide

> Connect Claude to Gmail, Slack and over 1000 apps with the Composio Connect-Apps plugin. This guide details the easy installation process and integration steps.

- Repository: [Composio/awesome-claude-skills](https://github.com/composiohq/awesome-claude-skills)
- Tags: how-to-guide
- Published: 2026-07-27

---

**You connect Claude to Gmail, Slack, and 1,000+ apps by installing the Connect-Apps plugin from the `ComposioHQ/awesome-claude-skills` repository, which proxies authenticated API calls through the Composio MCP Gateway.**

The `ComposioHQ/awesome-claude-skills` repository provides a production-ready architecture for connecting Claude to external apps like Gmail and Slack without embedding API keys directly in prompts. Instead of managing OAuth tokens and REST wrappers inside Claude, you deploy a lightweight local plugin that communicates with the Composio MCP Gateway, a secure Model-Context-Protocol middleware that handles authentication, tool discovery, and execution.

## Architecture Overview: The Connect-Apps Plugin and MCP Gateway

### Local Plugin Layer

Located in [`connect-apps-plugin/.claude-plugin/plugin.json`](https://github.com/ComposioHQ/awesome-claude-skills/blob/main/connect-apps-plugin/.claude-plugin/plugin.json), the plugin manifest defines how Claude discovers and loads the integration. This local layer supplies the `/connect-apps:setup` command that initializes the secure connection to the gateway. The manifest specifies available toolkits and their schemas, allowing Claude to understand what actions are possible before executing them.

### Composio MCP Gateway

The gateway acts as a unified Model-Context-Protocol server that stores API keys and manages OAuth refresh flows. It exposes standardized toolkits—such as `GMAIL_SEND_MESSAGE`, `GMAIL_SEARCH_THREADS`, `SLACK_SEND_MESSAGE`, and `SLACK_SEARCH_CHANNELS`—that Claude invokes instead of calling external services directly. All requests route through the gateway, which enforces granular permissions and audit logging.

## How Gmail and Slack Automation Work

### Gmail Automation Skill

The `gmail-automation/` directory contains the skill definition ([`SKILL.md`](https://github.com/ComposioHQ/awesome-claude-skills/blob/main/SKILL.md)) that maps natural language to specific Gmail toolkit actions. When you ask Claude to send an email, the skill orchestrates calls to `GMAIL_SEND_MESSAGE`, optionally using `GMAIL_SEARCH_PEOPLE` for address resolution or `GMAIL_CREATE_DRAFT` for deferred sending. The skill also handles attachments and label management through the gateway’s standardized schema.

### Slack Automation Skill

Similarly, the `slack-automation/` skill orchestrates Slack-specific workflows. A request to post to a channel triggers `SLACK_SEARCH_CHANNELS` to resolve the channel ID, followed by `SLACK_SEND_MESSAGE` to deliver the payload. The skill also supports reactions via `SLACK_ADD_REACTION` and scheduled reminders through the gateway’s temporal action queue.

## Installation and Setup Workflow

The integration follows a four-step lifecycle defined in [`connect-apps-plugin/commands/setup.md`](https://github.com/ComposioHQ/awesome-claude-skills/blob/main/connect-apps-plugin/commands/setup.md):

1. **Install** – Load the plugin locally using `claude --plugin-dir ./connect-apps-plugin`
2. **Configure** – Execute `/connect-apps:setup`, which prompts for your Composio API key and registers the connection with the MCP Gateway
3. **Execute** – Claude translates natural language into structured tool calls; for example, "Send an email to alice@example.com" becomes a `GMAIL_SEND_MESSAGE` invocation
4. **Audit** – All tool calls pass through the MCP Gateway, which logs the request for compliance and applies team-level access controls before reaching external APIs

## Practical Code Examples

### Installing the Plugin

```bash

# Install the Connect-Apps plugin locally

claude --plugin-dir ./connect-apps-plugin

# Initialize the connection (prompts for Composio API key)

/connect-apps:setup

```

### Sending a Gmail Message

```text
User: Send an email to alice@example.com with subject "Project Update" 
and body "The latest metrics are attached."

Claude Action:
- Resolves recipient via GMAIL_SEARCH_PEOPLE (if ambiguous)
- Calls GMAIL_SEND_MESSAGE with subject, body, and attachment parameters
- Returns confirmation message ID from the gateway

```

### Posting to Slack

```text
User: Post "Deploy completed successfully 🎉" to the #dev-ops channel.

Claude Action:
- Resolves channel ID via SLACK_SEARCH_CHANNELS
- Executes SLACK_SEND_MESSAGE with the text payload
- Optionally adds a thread reply or reaction via SLACK_ADD_REACTION

```

## Key Source Files

- **[`connect-apps-plugin/.claude-plugin/plugin.json`](https://github.com/ComposioHQ/awesome-claude-skills/blob/main/connect-apps-plugin/.claude-plugin/plugin.json)** – Plugin manifest defining Claude integration points and available toolkits
- **[`connect-apps-plugin/commands/setup.md`](https://github.com/ComposioHQ/awesome-claude-skills/blob/main/connect-apps-plugin/commands/setup.md)** – Implementation of the `/connect-apps:setup` interactive configuration command
- **[`connect-apps/SKILL.md`](https://github.com/ComposioHQ/awesome-claude-skills/blob/main/connect-apps/SKILL.md)** – Generic skill template showing how to invoke any Composio toolkit
- **[`gmail-automation/SKILL.md`](https://github.com/ComposioHQ/awesome-claude-skills/blob/main/gmail-automation/SKILL.md)** – Gmail-specific workflow definitions using the `GMAIL_*` toolset
- **[`slack-automation/SKILL.md`](https://github.com/ComposioHQ/awesome-claude-skills/blob/main/slack-automation/SKILL.md)** – Slack-specific workflow definitions using the `SLACK_*` toolset

## Summary

- The **Connect-Apps plugin** acts as a local bridge between Claude and external APIs via the Composio MCP Gateway
- **Gmail** and **Slack** skills translate natural language into specific toolkit calls like `GMAIL_SEND_MESSAGE` and `SLACK_SEND_MESSAGE`
- Authentication happens once during `/connect-apps:setup`, after which the gateway securely stores all API credentials
- All tool schemas are defined in [`connect-apps-plugin/.claude-plugin/plugin.json`](https://github.com/ComposioHQ/awesome-claude-skills/blob/main/connect-apps-plugin/.claude-plugin/plugin.json), while workflow logic resides in the respective [`SKILL.md`](https://github.com/ComposioHQ/awesome-claude-skills/blob/main/SKILL.md) files
- The architecture separates concerns: skills define *what* to do, toolkits define *how* to call APIs, and the gateway handles *auth* and *transport*

## Frequently Asked Questions

### How does the Connect-Apps plugin authenticate with Gmail and Slack?

The plugin itself does not store credentials. When you run `/connect-apps:setup`, it registers your Composio API key with the MCP Gateway, which then manages OAuth flows and secure token storage for all connected services. Claude only receives anonymized tool signatures, never raw API keys.

### Can I use this architecture to connect Claude to other apps besides Gmail and Slack?

Yes. The [`connect-apps/SKILL.md`](https://github.com/ComposioHQ/awesome-claude-skills/blob/main/connect-apps/SKILL.md) provides a generic template for integrating any Composio toolkit. You reference the appropriate tool names—such as `GITHUB_CREATE_ISSUE` or `NOTION_APPEND_BLOCK`—in your skill definitions, and the gateway handles the underlying API translation.

### Where are the API keys stored in this architecture?

API keys never reside on your local machine or in Claude's context window. They are encrypted and stored within the Composio MCP Gateway, which proxies all requests and enforces team-level access controls before forwarding them to external services.

### What specific functions does the Gmail Automation skill support?

According to the [`gmail-automation/SKILL.md`](https://github.com/ComposioHQ/awesome-claude-skills/blob/main/gmail-automation/SKILL.md) implementation, the skill exposes workflows for sending messages, replying to threads, searching mailboxes, applying labels, creating drafts, and handling attachments through toolkit actions like `GMAIL_SEND_MESSAGE`, `GMAIL_SEARCH_THREADS`, and `GMAIL_MODIFY_THREAD`.