---
title: "Cómo crear un agente de IA para WhatsApp"
description: "Guía técnica paso a paso para crear un agente de IA para WhatsApp: stack, arquitectura, casos de uso reales y errores comunes que evitar en 2025."
slug: "como-crear-agente-ia-para-whatsapp"
url: "https://catalizadora.ai/blog/como-crear-agente-ia-para-whatsapp"
cluster: "aprender-construir-agentes"
author: "Pablo Estrada"
published_at: "2026-06-20T10:54:19.547+00:00"
updated_at: "2026-06-20T10:54:19.604283+00:00"
read_minutes: "8"
lang: "es"
---
# Cómo crear un agente de IA para WhatsApp

> Guía técnica paso a paso para crear un agente de IA para WhatsApp: stack, arquitectura, casos de uso reales y errores comunes que evitar en 2025.

# Cómo crear un agente de IA para WhatsApp

WhatsApp tiene más de 2,000 millones de usuarios activos al mes, y la mayoría de las empresas en LATAM aún lo atienden con personas respondiendo mensajes manualmente. Esta guía explica, con precisión técnica, cómo crear un agente de IA para WhatsApp que automatiza conversaciones reales sin perder el contexto ni la calidad de respuesta.

---

## Qué es exactamente un agente de IA para WhatsApp

Un agente de IA para WhatsApp no es un chatbot de árbol de decisiones. Es un sistema que:

- **Entiende lenguaje natural** en lugar de depender de palabras clave exactas.
- **Mantiene contexto a lo largo de la conversación**, no solo responde el mensaje más reciente.
- **Puede ejecutar acciones**: consultar una base de datos, crear un ticket, agendar una cita, procesar un pago.
- **Escala a miles de conversaciones simultáneas** sin contratar más agentes humanos.

La diferencia técnica clave es que un agente tiene acceso a *herramientas* (tools) que puede invocar según la intención del usuario, no solo un flujo predefinido.

---

## Los componentes del stack

Antes de escribir una línea de código, entiende qué piezas necesitas ensamblar:

### 1. Acceso a la API de WhatsApp

Tienes dos rutas:

- **WhatsApp Business API (oficial, Meta):** Requiere aprobación, un número dedicado y pasar por un Business Solution Provider (BSP) como Twilio, 360dialog o Meta directamente. Es la única opción para producción a escala.
- **Librerías no oficiales (Baileys, WWebJS):** Funcionan para prototipos y uso interno, pero violan los Términos de Servicio de Meta. No las uses para clientes finales.

Para un agente de producción, el camino correcto es la API oficial. El costo de mensajes varía: en México y Colombia, una conversación iniciada por la empresa cuesta entre $0.05 y $0.08 USD; las iniciadas por el usuario son más baratas.

### 2. El modelo de lenguaje (LLM)

Las opciones más usadas en 2025:

| Modelo | Ventaja principal | Latencia típica |
|---|---|---|
| GPT-4o (OpenAI) | Multimodal, excelente razonamiento | 1–3 seg |
| Claude 3.5 Sonnet | Contexto largo, seguimiento de instrucciones | 1–2 seg |
| Gemini 1.5 Flash | Velocidad y costo bajo | < 1 seg |
| Llama 3.3 (self-hosted) | Sin costo por token, privacidad total | Depende del infra |

Para WhatsApp, la latencia importa: un usuario espera respuesta en menos de 5 segundos antes de perder interés. Gemini Flash o GPT-4o Mini son buenas opciones para casos de alto volumen.

### 3. El framework de agentes

Aquí decides cómo el LLM invoca herramientas y maneja el estado:

- **LangChain / LangGraph:** El más documentado, flexible, con buena comunidad en español.
- **LlamaIndex:** Mejor para agentes con fuerte componente de RAG (recuperación de documentos).
- **Autogen (Microsoft):** Útil cuando necesitas múltiples agentes colaborando.
- **Código propio con la API de OpenAI function calling:** Más control, menos abstracción mágica.

### 4. La capa de memoria y contexto

Por defecto, los LLMs no recuerdan conversaciones anteriores. Necesitas:

- **Memoria de sesión:** almacenada en Redis o en memoria del servidor mientras la conversación está activa.
- **Memoria persistente:** historial en PostgreSQL o MongoDB para que el agente sepa que ese número ya compró antes, o que ya escaló un reclamo.
- **Base de conocimiento (RAG):** documentos, FAQs, catálogos de productos en un vector store (Pinecone, Supabase pgvector, Weaviate).

### 5. El servidor webhook

WhatsApp Business API envía los mensajes entrantes a un endpoint tuyo vía HTTP POST. Necesitas:

- Un servidor siempre activo (Node.js, Python/FastAPI, etc.)
- HTTPS con certificado válido
- Lógica para verificar la firma del webhook de Meta
- Cola de mensajes (Redis Queue, BullMQ, Celery) para no bloquear respuestas si el LLM tarda

---

## Arquitectura recomendada paso a paso

Esta es la arquitectura más común para un agente funcional en producción:

```
Usuario en WhatsApp
       ↓
Meta Cloud API
       ↓
Tu servidor webhook (FastAPI / Express)
       ↓
Cola de mensajes (BullMQ / Celery)
       ↓
Motor del agente (LangGraph / custom)
  ├── LLM (GPT-4o / Claude)
  ├── Memoria de sesión (Redis)
  ├── Historial largo plazo (PostgreSQL)
  └── Herramientas (Tools)
        ├── Consulta CRM
        ├── Búsqueda en catálogo (RAG)
        ├── Crear ticket
        └── Agendar cita (Google Calendar API)
       ↓
Respuesta → Meta Cloud API → Usuario
```

### Paso 1: Configura tu cuenta de Meta for Developers

1. Crea una app en [developers.facebook.com](https://developers.facebook.com).
2. Agrega el producto "WhatsApp Business".
3. Obtén un número de teléfono de prueba (Meta da uno gratis).
4. Configura el webhook apuntando a tu servidor con el campo `messages` suscrito.

### Paso 2: Implementa el webhook

En Python con FastAPI:

```python
from fastapi import FastAPI, Request
import httpx, os

app = FastAPI()
VERIFY_TOKEN = os.getenv("WA_VERIFY_TOKEN")
WA_TOKEN = os.getenv("WA_ACCESS_TOKEN")
PHONE_ID = os.getenv("WA_PHONE_ID")

@app.get("/webhook")
async def verify(hub_mode: str, hub_verify_token: str, hub_challenge: str):
    if hub_mode == "subscribe" and hub_verify_token == VERIFY_TOKEN:
        return int(hub_challenge)
    return {"error": "Token inválido"}, 403

@app.post("/webhook")
async def receive_message(request: Request):
    body = await request.json()
    # Extraer número y texto del payload de Meta
    entry = body["entry"][0]["changes"][0]["value"]
    msg = entry["messages"][0]
    phone = msg["from"]
    text = msg["text"]["body"]
    # Enviar a la cola de procesamiento
    await process_with_agent(phone, text)
    return {"status": "ok"}
```

### Paso 3: Construye el agente con herramientas

```python
from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_openai_tools_agent
from langchain_core.tools import tool

@tool
def consultar_pedido(numero_pedido: str) -> str:
    """Consulta el estado de un pedido por su número."""
    # Aquí conectas con tu base de datos real
    return f"El pedido {numero_pedido} está en camino. Llega mañana antes de las 6pm."

@tool
def agendar_cita(fecha: str, hora: str) -> str:
    """Agenda una cita para el usuario en la fecha y hora indicadas."""
    # Aquí conectas con Google Calendar API
    return f"Cita agendada para el {fecha} a las {hora}. Te llegará una confirmación."

llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
tools = [consultar_pedido, agendar_cita]
agent = create_openai_tools_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
```

### Paso 4: Conecta la memoria de sesión

```python
from langchain_community.chat_message_histories import RedisChatMessageHistory
from langchain_core.runnables.history import RunnableWithMessageHistory

def get_session_history(session_id: str):
    return RedisChatMessageHistory(session_id, url=os.getenv("REDIS_URL"))

agent_with_memory = RunnableWithMessageHistory(
    executor,
    get_session_history,
    input_messages_key="input",
    history_messages_key="chat_history",
)
```

### Paso 5: Envía la respuesta de vuelta

```python
async def send_whatsapp_message(phone: str, text: str):
    url = f"https://graph.facebook.com/v19.0/{PHONE_ID}/messages"
    headers = {"Authorization": f"Bearer {WA_TOKEN}"}
    payload = {
        "messaging_product": "whatsapp",
        "to": phone,
        "type": "text",
        "text": {"body": text}
    }
    async with httpx.AsyncClient() as client:
        await client.post(url, json=payload, headers=headers)
```

---

## Errores comunes que arruinan los proyectos

Estos son los problemas que aparecen en producción y que los tutoriales básicos ignoran:

- **No manejar mensajes duplicados.** WhatsApp puede reenviar el mismo webhook. Implementa idempotencia con el `message_id`.
- **Ignorar los límites de tasa.** La API tiene rate limits por número. Un burst de mensajes puede hacer que tu agente responda fuera de orden.
- **Confundir sesión con usuario.** El mismo número puede abrir múltiples conversaciones en horas diferentes. Define bien cuándo "resetear" la memoria de sesión.
- **No tener un flujo de escalamiento humano.** El agente debe saber cuándo decir "te conecto con un asesor" y hacer el handoff real. Sin esto, los usuarios frustrados abandonan.
- **Olvidar el cumplimiento de privacidad.** En México (LFPDPPP) y Colombia (Ley 1581), tienes obligaciones sobre cómo almacenas conversaciones. No guardes historial indefinidamente sin política de retención.

---

## Casos de uso con ROI comprobable

- **Atención al cliente e-commerce:** Una tienda online con 500 pedidos diarios puede automatizar el 80% de las consultas de "¿dónde está mi pedido?" sin contratar operadores adicionales.
- **Agendamiento médico:** Clínicas con 3-5 consultorios eliminan entre 60-70% del volumen de llamadas para agendar y confirmar citas.
- **Calificación de leads B2B:** El agente hace las primeras 5 preguntas de cualificación, registra en CRM y solo escala al vendedor cuando el lead cumple criterios. Equipos de 3 personas manejan el volumen de 10.
- **Soporte técnico con RAG:** Un agente entrenado sobre documentación técnica resuelve tickets de nivel 1 con una tasa de resolución del 65-75% sin intervención humana.

---

## Cuándo construirlo tú vs. contratar a un equipo especializado

Construirlo tú tiene sentido si tienes un equipo con experiencia en APIs, Python/Node.js y quieres control total del stack. El tiempo realista para un agente funcional en producción, con memoria y al menos 3 herramientas integradas, es de **4 a 8 semanas** con un equipo dedicado.

Si el tiempo al mercado importa —y generalmente importa— estudios un estudio especializado en IA puede comprimir ese tiempo significativamente. En Catalizadora construimos agentes de este tipo como parte de **Catalizadora Core** (12 semanas, producto completo) o **Solo** (15 días, un caso de uso específico). El cliente se queda con el 100% del código y la IP, sin licencias recurrentes.

---

## CTA: Lee el manifiesto de Catalizadora

Si llegaste hasta aquí, ya tienes el mapa técnico completo. La diferencia entre un prototipo y un agente en producción que genera valor real está en los detalles: la arquitectura de memoria, el manejo de errores, el escalamiento humano, la privacidad.

Construimos software así todos los días. Si quieres entender nuestra filosofía de cómo lo hacemos y por qué funciona, lee el [manifiesto de Catalizadora →](/manifiesto)

## Preguntas frecuentes

### ¿Necesito una cuenta verificada de WhatsApp Business para conectar un agente de IA?

Para producción, sí. La API oficial de WhatsApp Business de Meta requiere verificar tu cuenta de negocio en el Business Manager de Facebook. Para pruebas, Meta ofrece un número de teléfono de prueba gratuito en el portal de desarrolladores que no requiere verificación completa.

### ¿Cuánto cuesta conectar un LLM como GPT-4o a WhatsApp?

Los costos tienen dos componentes: los tokens del LLM y las conversaciones de WhatsApp. GPT-4o Mini cuesta aproximadamente $0.15 por millón de tokens de entrada. Una conversación promedio de 10 mensajes consume entre 1,000 y 3,000 tokens. En WhatsApp, una conversación iniciada por la empresa en México cuesta alrededor de $0.06–$0.08 USD. Un agente que maneja 1,000 conversaciones al mes puede costar entre $80 y $150 USD en infraestructura total.

### ¿Puedo usar WhatsApp con modelos open source como Llama para evitar costos de API?

Sí. Puedes hacer self-hosting de Llama 3.3 o Mistral con Ollama o vLLM y conectarlo al webhook de WhatsApp en lugar de llamar a la API de OpenAI. El costo de tokens desaparece, pero asumes el costo de infraestructura de cómputo (GPU en la nube). Es rentable a partir de volúmenes altos o cuando los requisitos de privacidad no permiten enviar datos a terceros.

### ¿Cuánto tiempo tarda en construirse un agente de IA para WhatsApp funcional?

Un prototipo básico puede estar listo en 2-3 días con la API oficial y un LLM existente. Un agente de producción con memoria persistente, herramientas integradas a sistemas reales (CRM, ERP, base de datos) y flujos de escalamiento humano tarda entre 4 y 8 semanas con un equipo técnico dedicado. Estudios especializados como Catalizadora pueden entregar esto en 15 días (modalidad Solo) cuando el alcance está bien definido.

### ¿El agente puede manejar imágenes, audios o documentos enviados por WhatsApp?

Sí, la API de WhatsApp Business permite recibir mensajes de tipo imagen, audio, video y documento. Para procesarlos, necesitas un LLM multimodal (como GPT-4o o Gemini 1.5) para imágenes, y un servicio de transcripción de audio como Whisper para los mensajes de voz. Es una capa adicional de complejidad que vale la pena planear desde el inicio si tu caso de uso lo requiere.


---

Source: https://catalizadora.ai/blog/como-crear-agente-ia-para-whatsapp
Author: Pablo Estrada — AI Catalyst, LLC (catalizadora.ai)
