← SCRAM AI Lab

Tutoriales

AI nudges automáticos sobre datos del CRM

Aprende a combinar consultas SQL deterministas con Claude Sonnet para generar nudges comerciales de alta adopción en tu CRM sin inflar costos operativos.

May 21, 2026

415 lecturas

AI nudges automáticos sobre datos del CRM

El nudge que el vendedor abre es el que usaste SQL para detectar

El error que vemos en todos los CRMs que prometen "AI insights" es pedirle al LLM que encuentre los patrones. No los va a encontrar: los costos explotan, las latencias son atroces y la mitad de las recomendaciones son alucinadas. El patrón que funciona en producción es invertido: SQL detecta, LLM contextualiza. La máquina relacional sabe contar; el LLM sabe redactar el mensaje que el vendedor abre desde su iPhone a las 9 PM.

¿Por qué fallan los asistentes de IA integrados directamente en los CRM tradicionales?

Los asistentes nativos fallan porque intentan procesar bases de datos relacionales completas mediante prompts no estructurados, lo que genera costos exorbitantes por token, latencias de varios segundos y recomendaciones alucinadas sin sustento. Al carecer de filtros deterministas previos, inundan al ejecutivo con sugerencias irrelevantes que terminan ignoradas sistemáticamente por el equipo comercial.

Cuando una plataforma delega el análisis de miles de registros a un modelo de lenguaje masivo, el costo de inferencia se multiplica innecesariamente. Las bases de datos relacionales como PostgreSQL o MySQL fueron optimizadas durante cuatro décadas para agregar, filtrar y comparar fechas en milisegundos. Delegar esa labor a un LLM equivale a utilizar un soplete para encender un fósforo. La arquitectura debe mantener la separación estricta de responsabilidades: la base de datos ejecuta la lógica booleana y el modelo de lenguaje actúa únicamente como la capa de síntesis y redacción ejecutiva.

Comparativa de arquitecturas de automatización comercial

Evaluamos tres enfoques comunes de implementación frente a variables operativas críticas en flujos de ventas B2B:

Criterio Workflows tradicionales (Reglas fijas) LLM Autónomo (RAG sobre CRM) Híbrido: SQL Detector + LLM (SCRAM)
Latencia de ejecución Inmediata (< 100 ms) Alta (4 a 12 segundos) Baja (< 1 segundo total)
Costo por 1,000 alertas $0.00 USD $15.00 a $40.00 USD $3.00 USD (según tarifas de API de Anthropic)
Riesgo de alucinación Nulo (plantilla estática) Alto en fechas e importes Nulo en métricas; mínimo en tono
Adopción comercial observada Baja (percibido como spam) Media-Baja (fatiga por texto irrelevante) Alta (41% según telemetría interna de SCRAM)

Los 4 tipos de nudge que importan

Después de mirar métricas de adopción en cinco clientes, estos son los únicos que pasan el filtro de "el vendedor lo abre y actúa":

  • Deal stale 14d+: deals en stage activo sin actividad registrada
  • Contacto inactivo high-score: lead score 70+ sin tocar en 21d
  • Tareas overdue del owner: agrupadas por contacto para evitar spam
  • Deal high-value / low-probability: monto sobre el top 20%, probabilidad bajo 30%

Nótese lo que no está: "contacto cumple años", "se acerca renovación en 6 meses", "el clima está bueno para llamar". Calendar reminders no son nudges; son ruido.

Detector SQL para deals stale

SELECT d.id, d.title, d.amount, d.stage, d.owner_id,
       c.full_name, c.email,
       MAX(a.created_at) AS last_activity
FROM crm_deal d
JOIN crm_contact c ON c.id = d.primary_contact_id
LEFT JOIN crm_activity a ON a.deal_id = d.id
WHERE d.status = 'open'
  AND d.stage IN ('qualified', 'proposal', 'negotiation')
GROUP BY d.id, c.id
HAVING MAX(a.created_at) < NOW() - INTERVAL '14 days'
   OR MAX(a.created_at) IS NULL
ORDER BY d.amount DESC
LIMIT 50;

Contextualizar con Claude Sonnet

Para cada fila del SQL, hacemos una sola llamada a Claude Sonnet 4.6 (tier 2 en nuestro router) con el contexto mínimo del deal y el historial de actividad. El prompt:

const prompt = `Eres un asesor comercial revisando un deal stale.

Deal: ${deal.title} - $${deal.amount} MXN
Stage: ${deal.stage}
Contacto: ${contact.full_name} (${contact.email})
Última actividad: ${daysSince} días atrás - ${lastActivity.type}
Historial reciente: ${activitySummary}

Genera UN nudge accionable de 2 frases para el vendedor:
1. Por qué este deal merece atención AHORA
2. Acción concreta sugerida (llamar / email específico / agendar)

No saludes. No expliques que es un nudge. Directo al grano.`;

Costo por nudge: ~$0.003 USD. Para 50 nudges diarios son $4.50/mes por org. La alternativa de Opus es 5x más cara y no mueve la métrica.

El reto de adopción e higiene de datos en Latinoamérica

En los equipos comerciales de México y América Latina existe una fricción operativa recurrente: gran parte de la negociación real sucede fuera del CRM. Conversaciones clave ocurren en WhatsApp, llamadas personales de teléfono celular o reuniones presenciales que los ejecutivos no registran oportunamente. Este desfase afecta de forma directa la validez del detector SQL.

Si la base de datos asume que un lead lleva quince días abandonado simplemente porque la interacción ocurrió por mensajería instantánea no sincronizada, el nudge pierde credibilidad ante el vendedor. Para contrarrestar esta brecha sin imponer cargas administrativas adicionales, recomendamos dos ajustes:

  • Ventanas de gracia dinámicas: extender el umbral de abandono a veintiún días si el campo de etapa comercial cambió recientemente, asumiendo interacción táctica no documentada.
  • Micro-confirmaciones: permitir que el vendedor descarte el nudge con un solo toque marcando "en seguimiento por WhatsApp", lo cual actualiza automáticamente la marca temporal de actividad sin exigir minutas exhaustivas.

Qué puede salir mal y cómo mitigarlo

Existen puntos de falla técnicos que comprometen el sistema si no se gestionan desde el despliegue inicial:

  • Discrepancia de zonas horarias en la base de datos: el uso indiscriminado de funciones de tiempo del servidor puede generar alertas prematuras en equipos distribuidos entre Tijuana, Ciudad de México o Buenos Aires. Siempre homologue las comparaciones a UTC dentro del query de extracción.
  • Fatiga por volumen excesivo: limitar el retorno mediante la cláusula LIMIT a no más de cinco recomendaciones por ejecutivo comercial cada mañana. Presentar veinte recordatorios simultáneos diluye la urgencia e incrementa la tasa de descarte.
  • Historial de actividad saturado: inyectar cadenas de texto kilométricas en el prompt dispara el consumo de tokens y entorpece la capacidad de síntesis del modelo. Filtre únicamente los últimos tres hitos comerciales antes de construir el payload de contexto.

La métrica que importa

Trackeen nudges atendidos en 24h, no nudges generados. Un nudge atendido es uno donde el vendedor registra actividad sobre ese deal/contacto en las 24h siguientes a haber abierto el panel. En SCRAM ese ratio es 41%; cuando bajaba de 30% sabíamos que el detector SQL estaba generando ruido (umbral de días mal, stages incorrectos) y volvíamos a tunear.

Push vs pull

No hacemos push notifications. Los nudges viven en un widget del dashboard que el vendedor revisa en su rutina matutina. Push agresivo a Slack/email destruye la señal en dos semanas: aprenden a ignorarlos. El nudge debe ser un regalo, no una interrupción.

La pregunta abierta: ¿qué pasa cuando el LLM aprende del comportamiento del vendedor (cuáles atiende, cuáles ignora) y reordena? Estamos probando un bandit contextual encima del detector SQL — primeros resultados en el siguiente artículo de esta serie.

ai-nudges
crm
automatizacion
← Volver a SCRAM AI Lab