Retrato de Santiago Fernández

CubeLabs

IA · Fintech · Agentes · Automatización
🧠 IA

Composio: Agentes con 1000+ Herramientas

Construye agentes de IA que se conectan a cualquier servicio — desde GitHub hasta Gmail, Slack y Notion

⏱ 35 min 📊 Intermedio 📝 10 lecciones

Composio es la plataforma open-source que conecta agentes de IA con más de 1.000 herramientas a través de SDKs en Python y TypeScript. En este curso aprenderás desde la instalación básica hasta la creación de agentes multi-herramienta con autenticación, ejecución de acciones y soporte para los principales frameworks de IA: OpenAI Agents, Anthropic, LangChain, CrewAI y más. Con 29K estrellas en GitHub y más de 4.300 commits, Composio es la referencia para dotar de herramientas a tus agentes.

Contenido

  1. Introducción a Composio
  2. Instalación y Configuración
  3. Conceptos Fundamentales: Tools, Toolkits y Actions
  4. Primer Agente con OpenAI Agents (Python)
  5. Toolkits Populares: GitHub, Gmail, Slack, Notion
  6. Autenticación y Connected Accounts
  7. Composio con Anthropic y LangChain
  8. Agentes Multi-Herramienta y Workflows
  9. Composio con CrewAI y AutoGen
  10. Buenas Prácticas y Despliegue

1. Introducción a Composio

Composio (ComposioHQ/composio) es un SDK open-source que actúa como puente entre los modelos de lenguaje (LLMs) y las herramientas del mundo real. Su propuesta de valor es clara: "Skills that evolve for your Agents" — habilidades que evolucionan para tus agentes.

En lugar de tener que escribir integraciones manuales para cada API (Gmail, GitHub, Slack, Google Sheets, Notion, Jira...), Composio te proporciona un catálogo unificado de más de 1.000 toolkits listos para usar. Cada toolkit expone acciones que tu agente puede invocar directamente.

Característica Descripción
SDKs Python (pip) y TypeScript (npm)
Frameworks compatibles OpenAI, Anthropic, LangChain, LlamaIndex, Gemini, CrewAI, AutoGen, Vercel AI, Mastra y más
Toolkits 1.000+ herramientas pre-integradas
Autenticación Gestión centralizada de OAuth, API keys y connected accounts
Licencia Open Source (MIT)
Repositorio github.com/ComposioHQ/composio
💡 Concepto clave

Piensa en Composio como el App Store de herramientas para agentes. En vez de construir cada integración manualmente, eliges qué toolkits necesita tu agente y Composio se encarga de la autenticación, la ejecución de acciones y el manejo de errores.

2. Instalación y Configuración

Composio ofrece SDKs en Python y TypeScript. Aquí veremos ambas opciones.

Python (recomendado para empezar)

pip install composio

Para usar con OpenAI Agents:

pip install composio_openai_agents openai-agents

TypeScript

npm install @composio/core

Para OpenAI Agents en TS:

npm install @composio/openai-agents @openai/agents

Configuración de API Key

Composio requiere una API key para gestionar la autenticación con los servicios externos. Obtén tu key en app.composio.dev y configúrala:

export COMPOSIO_API_KEY=tu_api_key_aqui

Inicialización básica:

from composio import Composio

composio = Composio(
    # api_key="tu-api-key"  # opcional si tienes la variable de entorno
)
⚠️ Error común

Si olvidas configurar la API key, Composio lanzará un error de autenticación. Siempre verifica que COMPOSIO_API_KEY esté exportada antes de ejecutar tu agente.

Verificación de instalación

python3 -c "from composio import Composio; print('Composio OK')"

3. Conceptos Fundamentales: Tools, Toolkits y Actions

Composio organiza su ecosistema en tres niveles:

Concepto Definición Ejemplo
Toolkit Colección de herramientas agrupadas por servicio GITHUB, GMAIL, SLACK, NOTION, HACKERNEWS
Action Operación específica que un agente puede ejecutar GITHUB_LIST_PRS, GMAIL_SEND_EMAIL
Tool Instancia de una acción lista para ser usada por un framework de IA Tool object compatible con OpenAI Agents, LangChain, etc.

El flujo típico es:

  1. Seleccionas qué toolkits necesitas
  2. Obtienes las tools (acciones convertidas al formato del framework)
  3. Pasas las tools a tu agente de IA
  4. El agente invoca las acciones automáticamente según las instrucciones
# Obtener tools de un toolkit específico
tools = composio.tools.get(
    user_id="usuario@ejemplo.com",
    toolkits=["HACKERNEWS"]
)
💡 Tip

Puedes combinar múltiples toolkits en una sola llamada: toolkits=["GITHUB", "GMAIL", "SLACK"]. Composio fusiona todas las acciones en un solo array de tools compatible con tu framework.

4. Primer Agente con OpenAI Agents (Python)

Construyamos un agente que consulta las últimas noticias de HackerNews usando Composio y OpenAI Agents.

1

Instala las dependencias

pip install composio_openai_agents openai-agents
2

Crea el agente

import asyncio
from agents import Agent, Runner
from composio import Composio
from composio_openai_agents import OpenAIAgentsProvider

composio = Composio(provider=OpenAIAgentsProvider())
user_id = "user@acme.org"
tools = composio.tools.get(
    user_id=user_id,
    toolkits=["HACKERNEWS"]
)

agent = Agent(
    name="Hackernews Assistant",
    instructions="Eres un asistente experto en HackerNews.",
    tools=tools,
)

async def main():
    result = await Runner.run(
        starting_agent=agent,
        input="¿Cuál es el último post de HackerNews?"
    )
    print(result.final_output)

asyncio.run(main())
3

Ejecuta y observa

El agente llamará a la acción HACKERNEWS_FETCH_TOP_STORIES y devolverá el resultado formateado. Composio transforma automáticamente las acciones del toolkit en tools nativas de OpenAI Agents.

5. Toolkits Populares: GitHub, Gmail, Slack, Notion

Composio incluye toolkits para los servicios más utilizados. Veamos cómo usar los principales:

GitHub — Gestión de repositorios y PRs

tools = composio.tools.get(
    user_id=user_id,
    toolkits=["GITHUB"]
)
# El agente podrá listar issues, crear PRs, revisar código, etc.

Gmail — Envío y lectura de correos

tools = composio.tools.get(
    user_id=user_id,
    toolkits=["GMAIL"]
)

Slack — Mensajería de equipo

tools = composio.tools.get(
    user_id=user_id,
    toolkits=["SLACK"]
)

Notion — Bases de conocimiento

tools = composio.tools.get(
    user_id=user_id,
    toolkits=["NOTION"]
)
Toolkit Acciones destacadas Casos de uso
GITHUB List PRs, create issue, get code, search repos Automatización de code review
GMAIL Send email, search messages, manage labels Asistente de correo, alertas automáticas
SLACK Send message, list channels, search history Notificaciones, chatbots internos
NOTION Create page, query database, update blocks Documentación automática, wikis
GOOGLESHEETS Read/write cells, create spreadsheets Reportes, dashboards automatizados

6. Autenticación y Connected Accounts

Uno de los puntos fuertes de Composio es su sistema centralizado de autenticación. Cada conexión con un servicio externo se gestiona como una Connected Account.

Autenticación vía API Key

Algunos servicios (como HackerNews) no requieren autenticación adicional. Otros, como Gmail o GitHub, necesitan OAuth.

Usando el cliente Composio para autenticación

from composio import Composio, App

composio = Composio()

composio.get_redirect_url(
    app=App.GMAIL,
    user_id="usuario@ejemplo.com"
)
# Devuelve una URL de OAuth para autenticar

Verificar cuentas conectadas

connected = composio.connected_accounts.get(
    user_id="usuario@ejemplo.com"
)
print(connected)
⚠️ Atención con scopes

Al autenticar servicios como Gmail o Google Drive, asegúrate de solicitar los scopes mínimos necesarios. Composio permite configurar scopes específicos para cada conexión.

7. Composio con Anthropic y LangChain

Composio no se limita a OpenAI Agents. Veamos cómo integrarlo con otros frameworks populares.

Con Anthropic (Claude)

pip install composio_anthropic anthropic
from composio import Composio
from composio_anthropic import AnthropicProvider
from anthropic import Anthropic

composio = Composio(provider=AnthropicProvider())
tools = composio.tools.get(
    user_id=user_id,
    toolkits=["GITHUB"]
)

client = Anthropic()
response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    tools=tools,
    messages=[{"role": "user", "content": "Lista mis PRs abiertos"}]
)

Con LangChain

pip install composio_langchain langchain
from composio import Composio
from composio_langchain import ComposioToolSet

toolset = ComposioToolSet()
tools = toolset.get_tools(
    user_id=user_id,
    toolkits=["SLACK", "GMAIL"]
)

# Usar con cualquier agente de LangChain
Framework Package Python Package TypeScript
OpenAI Agents composio_openai_agents @composio/openai-agents
Anthropic composio_anthropic @composio/anthropic
LangChain composio_langchain @composio/langchain
LlamaIndex composio_llamaindex @composio/llamaindex
Gemini (Google) composio_google @composio/google
CrewAI composio_crewai --
AutoGen composio_autogen --
Vercel AI SDK -- @composio/vercel-ai
Mastra -- @composio/mastra

8. Agentes Multi-Herramienta y Workflows

El verdadero poder de Composio emerge cuando combinas múltiples toolkits en un mismo agente.

import asyncio
from agents import Agent, Runner
from composio import Composio
from composio_openai_agents import OpenAIAgentsProvider

composio = Composio(provider=OpenAIAgentsProvider())

tools = composio.tools.get(
    user_id="dev@acme.org",
    toolkits=["GITHUB", "GMAIL", "SLACK", "GOOGLESHEETS"]
)

agent = Agent(
    name="DevOps Assistant",
    instructions="""Eres un asistente de DevOps.
Puedes:
- Revisar PRs y issues en GitHub
- Enviar correos con resúmenes vía Gmail
- Notificar en Slack cuando algo requiere atención
- Registrar métricas en Google Sheets""",
    tools=tools,
)

async def main():
    result = await Runner.run(
        starting_agent=agent,
        input="Revisa los PRs abiertos, haz un resumen, envíalo por correo al equipo y notifica en Slack"
    )
    print(result.final_output)

asyncio.run(main())
💡 Workflow típico

Un agente multi-herramienta puede: leer datos de GitHub, procesarlos con el LLM, escribir un resumen en Google Sheets, enviarlo por Gmail y notificar en Slack — todo en una sola ejecución.

9. Composio con CrewAI y AutoGen

Composio también se integra con frameworks multi-agente como CrewAI y AutoGen.

Con CrewAI

pip install composio_crewai crewai
from composio_crewai import ComposioToolSet
from crewai import Agent, Crew

toolset = ComposioToolSet()
github_tools = toolset.get_tools(
    user_id=user_id,
    toolkits=["GITHUB"]
)
slack_tools = toolset.get_tools(
    user_id=user_id,
    toolkits=["SLACK"]
)

dev_agent = Agent(
    role="Developer",
    goal="Revisar y gestionar PRs",
    tools=github_tools
)
notifier = Agent(
    role="Notifier",
    goal="Comunicar novedades al equipo",
    tools=slack_tools
)

crew = Crew(agents=[dev_agent, notifier], tasks=[...])

Con AutoGen

pip install composio_autogen pyautogen
from composio_autogen import ComposioToolSet

toolset = ComposioToolSet()
tools = toolset.get_tools(
    user_id=user_id,
    toolkits=["HACKERNEWS", "GITHUB"]
)

10. Buenas Prácticas y Despliegue en Producción

Al llevar agentes de Composio a producción, considera estos aspectos:

Seguridad y manejo de claves

Manejo de errores y rate limits

try:
    tools = composio.tools.get(user_id=user_id, toolkits=["GITHUB"])
except Exception as e:
    print(f"Error: {e}")
    # Reintentos con backoff exponencial

Optimización de costes

💡 Arquitectura recomendada

Para producción, estructura tu aplicación en capas: (1) API Layer → (2) Agent Logic con Composio → (3) External Services. Esto permite testear cada capa de forma independiente.

¿Composio es gratuito?

Sí, Composio es open-source (licencia MIT). El repositorio está en github.com/ComposioHQ/composio.

¿Puedo añadir mis propias herramientas personalizadas?

Sí, Composio permite crear custom providers y herramientas propias envolviendo cualquier API REST.

¿Composio funciona con modelos locales (Ollama, llama.cpp)?

Composio es agnóstico al modelo. Mientras el framework soporte tool calling, funciona.

¿Necesito la plataforma cloud de Composio?

La plataforma cloud simplifica la gestión de autenticación, pero Composio puede usarse de forma autónoma.