Un agente de WhatsApp Business que consulta tu ERP
Tus clientes ya preguntan por WhatsApp por saldos, pedidos y entregas. Esta guía explica cómo conectar un agente al ERP para responder con datos reales, dentro de las reglas que publica Meta.

Las reglas de Meta que condicionan el diseño
Todo lo de esta sección sale de la documentación oficial de WhatsApp Business Platform. Revísala antes del build, porque Meta la actualiza.
- Ventana de atención al cliente. Cuando un usuario te escribe o te llama, empieza un temporizador de 24 horas llamado customer service window. Si el usuario vuelve a escribir antes de que venza, el temporizador se reinicia. Meta, service messages
- Mensajes de servicio. Dentro de la ventana puedes enviar mensajes libres, sin aprobación previa, a través de la Messages API de la Cloud API. Meta, service messages
- Fuera de la ventana. Para escribir a un usuario fuera de la ventana debes usar mensajes de plantilla. Meta, service messages
- Límites de mensajería. Son el número máximo de números únicos de usuarios a los que tu negocio puede entregar mensajes fuera de la ventana de atención, en un periodo móvil de 24 horas. Se calculan a nivel de portafolio comercial y los comparten todos los números del portafolio. Meta, messaging limits
- Aumento del límite. La documentación describe rutas de escalamiento para subir el límite a 2.000, entre ellas verificar el negocio o entregar 2.000 mensajes fuera de la ventana a números únicos en 30 días con plantillas de alta calidad. Meta, messaging limits
Consecuencia práctica: el agente conversacional trabaja dentro de la ventana. Los avisos proactivos, como recordatorios de pago, van con plantillas y cuentan contra el límite.
Qué consultas tienen sentido
Empieza por consultas de lectura con respuesta exacta:
- Estado de un pedido.
- Saldo y facturas pendientes.
- Fecha estimada de entrega.
- Copia de una factura.
- Disponibilidad de un producto.
Deja para después las acciones de escritura, como crear pedidos o cambiar direcciones. Requieren más validación.
Arquitectura
Piezas clave:
- Gateway. Recibe el webhook, valida la firma, guarda el mensaje y responde rápido. El procesamiento va en una cola.
- Identificación. Relaciona el número de WhatsApp con un cliente del ERP.
- Herramientas. Funciones acotadas:
consultar_pedido(id),saldo_cliente(id_cliente). Nada de SQL libre. - Derivación. Pasa la conversación a una persona con el resumen del caso.
Paso 1: identifica al cliente sin exponer datos
El número de celular no siempre basta. Varias personas de una empresa pueden escribir desde números distintos, y un número puede cambiar de dueño.
Opciones por nivel de riesgo:
- Consultas públicas: disponibilidad de producto. Sin identificación.
- Consultas de bajo riesgo: estado de un pedido con número de pedido y NIT.
- Consultas sensibles: saldos y facturas. Número registrado más un código de verificación.
El agente nunca revela datos de un cliente a un número no verificado.
Paso 2: herramientas acotadas
Cada herramienta recibe parámetros validados y devuelve solo los campos necesarios.
def saldo_cliente(id_cliente: str) -> dict:
assert sesion.cliente_verificado == id_cliente
f = erp.facturas_abiertas(id_cliente)
return {"total": sum(x.saldo for x in f),
"facturas": [{"numero": x.numero, "vence": x.vence, "saldo": x.saldo} for x in f]}
El total lo calcula el código. El modelo solo redacta la respuesta con esos datos.
Paso 3: conversación y derivación
Define cuándo el agente pasa a una persona:
- El cliente lo pide.
- Hay una queja o una disputa.
- La consulta no cabe en ninguna herramienta.
- La confianza de la intención es baja dos veces seguidas.
Al derivar, la persona recibe el historial y un resumen. El cliente no repite nada.
Si la persona responde horas después, revisa si la ventana de 24 horas sigue abierta. Si venció, la respuesta debe ir con plantilla.
Paso 4: plantillas para lo proactivo
Para avisos fuera de la ventana:
- Diseña pocas plantillas, claras y útiles para el cliente.
- Usa variables con datos del ERP.
- Controla cuántos números únicos vas a contactar por día frente a tu límite.
La documentación de Meta asocia el aumento de límite con la calidad de las plantillas. Mensajes irrelevantes afectan esa calidad.
Cómo medir
| Métrica | Fórmula |
|---|---|
| Resolución sin persona | conversaciones cerradas por el agente / conversaciones |
| Precisión de respuesta | respuestas correctas / respuestas revisadas en muestra |
| Tiempo de primera respuesta | segundos promedio |
| Tasa de derivación | conversaciones derivadas / conversaciones |
| Respuestas fuera de ventana | intentos bloqueados por ventana vencida |
Errores comunes
- Dar acceso libre a la base de datos. Usa herramientas con parámetros.
- Identificar solo por número.
- Procesar en el webhook. Responde rápido y procesa en cola.
- Olvidar la ventana de 24 horas en las derivaciones lentas.
- Plantillas masivas sin segmentar. Gastan límite y afectan calidad.
Checklist
Preguntas frecuentes
¿Puedo usar mi número actual de WhatsApp Business App?
Revisa en la documentación de Meta las condiciones de migración del número a la plataforma. Define esto antes del build, porque afecta el plan de lanzamiento.
¿El agente puede enviar recordatorios de pago?
Sí, con plantillas cuando estás fuera de la ventana de atención. Cuentan para el límite de mensajería de tu portafolio.
¿Qué pasa con los datos personales de las conversaciones?
Aplican tus políticas de tratamiento de datos. Guarda solo lo necesario y define plazos de borrado. Lo tratamos en la guía de memoria del agente.
Fuentes
- Meta. Service messages (customer service window): https://developers.facebook.com/docs/whatsapp/cloud-api/guides/send-messages
- Meta. Messaging limits: https://developers.facebook.com/docs/whatsapp/messaging-limits