Caso de Estudio · Manufactura / LatAm · 2024–2025

ATENCIÓN AL
CLIENTE CON
IA.

Infraestructura completa de automatización conversacional para un fabricante regional de pinturas — cubriendo WhatsApp, precios en tiempo real y localización de distribuidores.

Manufactura / Pinturas
América Latina
21 líneas
GoHighLevel · GPT-4 · WhatsApp
24/7
Disponibilidad
<3s
Tiempo de Respuesta
21
Líneas de Producto
100km
Radio Distribuidores
El Cliente

Un catálogo complejo, clientes con urgencia

Nuestro cliente es un fabricante regional de pinturas que atiende a distribuidores, contratistas y consumidores finales a través de múltiples canales sociales. Las consultas llegan en todo momento: precios actualizados, fichas técnicas de producto, ubicación del distribuidor más cercano. El equipo de ventas no podía responder todo a tiempo.

El Desafío

Cuatro problemas, un sistema

01

Precios volátiles

La lista de precios cambia con frecuencia. Mantener al agente de IA sincronizado sin re-entrenamiento era crítico para no entregar información incorrecta a distribuidores y clientes.

02

Catálogo denso

21 líneas de producto con especificaciones técnicas distintas: acabados, rendimientos, métodos de aplicación, usos recomendados. El agente debía manejar toda esta complejidad con precisión.

03

Cobertura geográfica

Distribuidores dispersos en múltiples ciudades. Los clientes necesitaban encontrar el punto de venta más cercano con el producto específico disponible — en tiempo real.

04

Dos canales, dos roles

Instagram como captación y filtro; WhatsApp como canal de cierre. La lógica de canal debía ser impecable y transparente para el usuario final.

La Arquitectura

Tres módulos, un ecosistema

El sistema se construyó como tres módulos especializados que operan dentro del motor de workflows de GoHighLevel, comunicándose a través de variables y nodos condicionales.

🤖
Módulo 01

AI Agent Chatbot

Agente GPT-4 con personalidad de marca. Lógica diferenciada por canal: en Instagram solo precios y derivación; en WhatsApp, atención completa incluyendo cierre de ventas.

💰
Módulo 02

Agente de Precios

Consulta un CSV publicado de Google Sheets en tiempo real. Normaliza texto (sin tildes, sin stopwords) y entrega respuestas paginadas en hasta 20 variables de mensaje.

📍
Módulo 03

Buscador de Tiendas

Parsea mensajes de ubicación de WhatsApp, calcula distancia Haversine contra la base de distribuidores, filtra por producto y radio de 100km. Devuelve enlace a Google Maps.

Flujo de una consulta de precio

Cliente WhatsApp
GHL Trigger
AI Agent (GPT-4)
Price Lookup
Google Sheets CSV
mensaje1…N
Send ×N (IF gates)
Soluciones Técnicas

Ingeniería dentro de los límites del sistema

S1

Consulta CSV en tiempo real sin fetch()

GoHighLevel bloquea fetch() en nodos de código personalizado. La solución fue usar customRequest.get() — el método nativo de GHL — para obtener el CSV publicado de Google Sheets cada vez que llega una consulta de precios.

// Correcto en GHL Custom Code
const result = await customRequest.get({
  url: 'https://docs.google.com/spreadsheets/d/e/...pub?output=csv'
});
const rows = result.data.split('\n').map(r => r.replace(/\r/g, '').split(','));
S2

Paginación de mensajes con variables explícitas

GHL tiene un límite de 1.000 caracteres por mensaje. Para respuestas largas, el código empaqueta resultados en chunks de <900 caracteres dentro de 20 variables declaradas mensaje1–mensaje20. Cada una pasa por un nodo IF antes de enviarse.

// Variables declaradas explícitamente
let mensaje1 = '', mensaje2 = '', ..., mensaje20 = '';
// Workflow: IF mensaje2 != "" → Send → Wait 1s → IF mensaje3...
S3

Matching con normalización española

Los clientes escriben "¿Cuánto cuesta el Prestige?" — palabras como cuánto, cuesta, producto rompían el matching si no se filtraban. Se implementó un sistema de stopwords en español + eliminación de tildes para comparar contra el campo combinado producto + color del CSV.

const stopwords = ['cuanto','cuesta','precio','del','que', ...];
function normalize(str) {
  return str.toLowerCase()
    .normalize('NFD').replace(/[\u0300-\u036f]/g, '')
    .split(/\s+/).filter(w => !stopwords.includes(w)).join(' ');
}
S4

Localizador con fórmula Haversine

WhatsApp entrega la ubicación del usuario en un formato específico de GHL. El nodo parsea latitud y longitud, consulta el CSV de distribuidores y calcula distancia real con Haversine. Filtra por producto solicitado y devuelve el punto más cercano con link directo a Google Maps.

function haversine(lat1, lon1, lat2, lon2) {
  const R = 6371;
  const dLat = (lat2-lat1) * Math.PI/180;
  const dLon = (lon2-lon1) * Math.PI/180;
  const a = Math.sin(dLat/2)**2 + Math.cos(lat1*Math.PI/180)
    * Math.cos(lat2*Math.PI/180) * Math.sin(dLon/2)**2;
  return R * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
}
// Filtro: distancia ≤ 100km && productos.includes(producto)
Catálogo Integrado

21 líneas de producto en el cerebro del agente

El agente fue entrenado con fichas técnicas completas de toda la línea, permitiendo responder consultas técnicas de cualquier complejidad sin escalamiento humano.

Pipol

Emulsionada mate, interior/exterior. Mejor relación precio/calidad.

Pro Int/Ext

Acabado mate, alto cubrimiento. Para concreto y mampostería.

Pro Satin

Acabado satinado, lavable. Resistencia al frote húmedo.

Prestige Interiores

Premium mate, insuperable cubrimiento. Anti-hongos y moho.

Prestige Exteriores

Extra Premium. Elastomérica, aditivos repelentes de agua.

Prestige Satin

Extra Premium satinado. 100% lavable, interior/exterior.

Prestige Gold 3en1

Elastomérico: fonda, impermeabiliza y pinta. 110% elongación.

Prestige 3en1

Triple protección. Rellena microfisuras, resistente a hongos.

CeramiK

Epoxy-Acrílico para azulejos, cerámica, vidrio y porcelanato.

DTM

Esmalte acrílico para hierro. Pinta y fondea directamente.

Impereco

Impermeabilizante elastomérico para techos y placas.

+ 10 líneas adicionales

Fondos, esmaltes, texturas y productos especializados cubiertos en el catálogo completo.

El Impacto

Siempre disponible. Siempre preciso.

El agente transformó la atención al cliente de un cuello de botella humano en una experiencia escalable, precisa y disponible las 24 horas — sin aumentar el equipo de ventas.

24/7
Disponibilidad del agente
<3s
Tiempo de respuesta típico
21
Líneas de producto cubiertas
100km
Radio de búsqueda de distribuidores