---
title: "Composio Module"
module_id: "composio"
version: "1.0.0"
category: "system"
autonomy: "agent-capable"
generated: true
generated_at: "2026-05-04"
---

# Composio

> Connect to 1000+ external apps via managed OAuth and intent-based tool resolution

Ships with **4 agent skills**.

## Quick Facts

| Property | Value |
|----------|-------|
| **Module ID** | `composio` |
| **Version** | 1.0.0 |
| **Category** | system |
| **Autonomy** | agent-capable |
| **Core** | No |
| **Capabilities** | `data:read`, `data:write`, `webhook:trigger` |
| **MCP-exposed skills** | 4 |
| **Owns tables** | — |

## Integrations

**Required:** `composio`

## Skills

These skills are seeded into `agent_skills` when the module is enabled and exposed via MCP.
External operators (FlowPilot, OpenClaw, Claude Desktop, custom MCP clients) can call them directly.

| Skill | Scope | Description |
|-------|-------|-------------|
| `composio_execute` | internal | Execute an action in a connected external app via Composio. Use when: you have found the right tool via composio_search_tools and want to run it. NOT for: searching tools (use composio_search_tools… |
| `composio_gmail_read` | both | Read recent emails from Gmail via Composio. Use when: FlowPilot needs context about recent communication with a lead/customer, or needs to check for replies. NOT for: processing high-volume inboxes. |
| `composio_gmail_send` | both | Send an email via Gmail through Composio. Use when: FlowPilot needs to send a follow-up, confirmation, or outreach email to a lead/customer. NOT for: bulk newsletters (use Resend/newsletter module … |
| `composio_search_tools` | internal | Search for available tools and actions across 1000+ connected apps using intent-based discovery. Use when: user wants to perform an action in an external app (Gmail, Slack, HubSpot, Sheets, etc.) a… |

## File Map

| Purpose | Path |
|---------|------|
| Module definition | `src/lib/modules/composio-module.ts` |

## Contributing

To enhance this module, see [Contributing Guide](../contributing/contributing.md).

Key rules:
- Follow `ModuleDefinition<I, O>` contract pattern
- All schema changes require idempotent migrations
- Skills must be self-describing ([Law 2](../concepts/openclaw-law.md))
- Blocks are interfaces, not pipelines ([Law 3](../concepts/openclaw-law.md))
- New skills must pass the [Agent Contract Integrity](../architecture/agent-contract-integrity.md) checklist (`bun run lint:skills`)

---

*This file is auto-generated by `scripts/generate-module-docs.ts`. Do not edit manually — re-run the script after changing the module definition.*