ACTIVE Consulting HMR · Caso de estudio #01
MX · Playa del Carmen 22 abril 2026 v1.0
X 00.00
Y 00.00
SHEET 01/07
Caso · RPA + LLM · AXA México

Del chat a la
cotización oficial
en 90 segundos.

Un cotizador automático que conversa por WhatsApp, captura los datos del cliente, detecta la intención del agente humano con una clave secreta y ejecuta el portal de AXA México por RPA — sin que nadie toque un formulario.

Caso validado
$9,705.28 MXN
Tiempo total
90s
Intervención humana
0clicks
02 · El problema

Cotizar manualmente toma 15 minutos por cliente.
El 40% de los leads ya se fue.

[A] ANTES · flujo manual
15 min. promedio · 1 cotización · 1 agente · horario laboral

Abrir el portal, loguear, buscar el cliente en el chat, copiar datos a mano, llenar el formulario, descargar, reenviar por WhatsApp. Los fines de semana, nada.

[B] AHORA · RPA disparado por agente
90 segundos · 1 clave secreta · 24/7 · sin intervención humana

El agente escribe la clave en el chat del cliente. El bot abre AXA en un navegador headless, llena, calcula prima con 35% de descuento, descarga el PDF oficial y lo entrega.

03 · El workflow

Cinco etapas. Cero intervención humana
entre la clave y el PDF.

Arquitectura del flujo de cotización automática

DISEÑO 2026·04
01 · CAPTURA
Chat con el cliente

Conversación guiada por WhatsApp: uso, origen, marca, modelo, año, código postal, fecha de nacimiento y nombre. Consolidación de mensajes con ventana de 15 segundos.

WhatsAppKommoFastAPI
02 · VALIDACIÓN
LangChain + supervisor

Tres LangChain tools anti-alucinación validan los datos: normalización de vehículo, step-validator con regex fuzzy (matchea "Leglizado" con 0.95 de similitud), contradiction-tool.

LangChainOpenAISupabase
03 · DISPARO
Clave secreta del agente

El agente humano envía al chat una clave gen-axa-··· cuando decide disparar la cotización. El bot detecta el trigger antes de cualquier otro flujo.

env-varsubstring matchrate-limit
04 · EJECUCIÓN
Playwright en el portal

Chromium headless abre portal.axa.com.mx, se autentica, cierra el modal de aviso, navega a "Residentes", llena los 15 campos, aplica pago contado + 35% descuento con código ESP-604266.

PlaywrightChromiumPython
05 · ENTREGA
PDF → WhatsApp

El portal genera el PDF oficial con la prima calculada. Con fallback a page.pdf() de Playwright si el botón de descarga falla. Se envía vía Kommo.

PDFKommo APIStorage
Timeline del RPA — por qué 90 segundos no es marketing ESCALA · 0 a 90 SEGUNDOS
0s 15 30 45 60 75 90
Boot Chromium
3.0s
Login AXA
9.0s
Cierre modal
2.0s
Nav Residentes
3.0s
Llenado formulario
42.0s
Aplicar descuentos
8.0s
Cálculo prima
12.0s
Descargar PDF
7.0s
Envío Kommo
4.0s
04 · Evidencia

No es magia.
Es un substring-match, un thread, y un navegador.

EH
El de los Seguros cotizador · en línea
Hola, quiero cotizar mi auto
¡Hola! ¿Cuál es el uso del vehículo? ¿Es particular, plataforma (Uber/DiDi) u otro?
Particular, nacional, VW Jetta 2004
Encontré 15 versiones para tu Jetta 2004. Responde con el número.
11
¿El vehículo tiene adaptaciones o accesorios?
No
Para completar, necesito CP, fecha de nacimiento y nombre.
77723, 27/09/2001, Héctor Ruiz
¡Gracias, Héctor! Un agente te atenderá en breve.
▸ AGENTE: gen-axa-···············
PDF
Cotización AXA · VW Jetta 2004 Prima total: $9,705.28 · 90 segundos
chatbot/axa_trigger.py Python · 56 LOC
# Se lee en runtime (no al importar) para tolerar
# rotación en caliente de la clave secreta.
def _get_env():
    return {
        "AXA_COTIZADOR_ENABLED": os.getenv("AXA_COTIZADOR_ENABLED") == "1",
        "AXA_TRIGGER_KEY": os.getenv("AXA_TRIGGER_KEY", "").strip(),
        "AXA_USER": os.getenv("AXA_USER", ""),
        "AXA_PASS": os.getenv("AXA_PASS", ""),
    }

def es_trigger(mensaje: str) -> bool:
    if not mensaje or not esta_habilitado():
        return False
    return _get_env()["AXA_TRIGGER_KEY"] in mensaje


def disparar_cotizacion(estado) -> Tuple[bool, str, Optional[Path]]:
    # Playwright sync API no corre dentro de asyncio.loop
    # → thread separado con timeout de 120s.
    future = _executor.submit(_cotizar_en_thread, estado.datos_cliente)
    return future.result(timeout=120)
05 · Stack

Tecnologías en producción.
Todas open source, todas estables.

01
Python 3.10
runtime
02
FastAPI
api layer
03
Playwright
portal rpa
04
Chromium
headless
05
LangChain
validación
06
OpenAI
llm · intents
07
Supabase
db · sesiones
08
Kommo
whatsapp crm
06 · Impacto económico

Con 3 aseguradoras integradas,
el ROI año 1 supera 2,100%.

Ahorro operativo
$225K/año
3 aseguradoras × $75K c/u · tiempo liberado del agente.
Ingreso adicional
$2.01M/año
Respuesta 24/7 mejora conversión de leads +8 pp.
Balance año 1
+$2.14M
Neto después de $50K inversión + $48K mantenimiento.
Recuperación
< 3meses
Sólo con ahorro operativo, sin contar conversión.
07 · Dónde falla · cómo se controla

Ninguna automatización de portales externos es gratis.
Hay 4 vectores que vigilar.

La diferencia entre un RPA de demo y uno de producción está en cómo degrada. El cotizador no evita las caídas — las contiene con tests de salud diarios, diagnóstico en respuesta HTTP y fallback graciosamente al agente humano.

Hablemos del tuyo

Tu aseguradora. Tu flujo.
Tu PDF en 90 segundos.

Consulting HMR implementa cotizadores automáticos modulares por aseguradora. Desde $10,000 MXN (cerrar una integración existente) o $15,000 MXN por una nueva — cada fase es factura independiente, pago progresivo, sin compromiso inicial.

Agendar diagnóstico →
CONSULTING HMR · ai engineering Playa del Carmen, MX +52 · RPA · LLM · infra