Un flow de n8n que computa un health score compuesto de cliente combinando uso del producto desde Gainsight, actividad del CRM desde HubSpot y sentimiento de conversaciones desde Gong. Escribe el score de vuelta a Gainsight cada noche, con tres sub-scores y una nota de una línea de “por qué cambió esto.” Reemplaza el health score estático y manipulable del que dependen la mayoría de los equipos de CS.
Qué necesitas
- n8n self-hosted o Cloud
- Gainsight con PX o NXT para datos de uso
- HubSpot para soporte y actividad de CSM
- Gong para transcripts de conversaciones
- API key de Claude para scoring de sentimiento
- Definiciones de alto/medio/bajo para cada sub-score
Setup
- Define el modelo. Decide los pesos de tus sub-scores — por ejemplo, 50% uso del producto, 30% actividad de CSM, 20% sentimiento de conversación. Documenta esto en
health-model.mdpara que el rationale sea auditable. - Importa el flow. Pulla
health-score.n8n.json. El flow tiene cuatro branches en paralelo alimentando un nodo final de agregación. - Conecta fuentes de datos. El branch de Gainsight jala deltas diarios de uso. El branch de HubSpot jala volumen de cases y recencia del touch del CSM. El branch de Gong jala transcripts de calls de los últimos 30 días y corre clasificación de sentimiento de Claude por call.
- Agrega y escribe de vuelta. El nodo de agregación computa el compuesto, genera un “por qué” de una línea usando Claude, y escribe el score, sub-scores y razón a un campo custom de Gainsight. Corre cada noche a las 2am.
- Valida contra churn. Backtestea el modelo contra los últimos 12 meses de churn. Si cuentas de health alto hicieron churn, tu modelo está mal.
Cómo funciona
Cada branch normaliza su sub-score a una escala 0-100. El uso usa una ventana móvil de 28 días comparando actividad actual contra el baseline de la propia cuenta, no contra umbrales absolutos — esto captura caídas que los umbrales absolutos pierden. Actividad es recencia más frecuencia de touches CSM-cliente. Sentimiento corre Claude sobre cada call y produce un promedio rolling de sentimiento, ponderado por recencia.
La agregación es una suma ponderada, pero el output no es solo un número. Claude genera una explicación de una oración: “El health bajó de 78 a 64 porque el uso del producto está 35% abajo semana sobre semana a pesar de tres touches del CSM.” Esa oración es lo que hace al score accionable para los CSMs.
El flow es idempotente. Re-corridas producen el mismo output para los mismos inputs.
A tener en cuenta
- Garbage in, garbage out. Si tus eventos de uso no están taggeados correctamente en Gainsight, ningún modelo lo arregla. Audita la calidad de datos primero.
- Backtest antes de confiar. Corre el modelo retroactivamente por un trimestre y revisa si predijo el churn que viste. Si no lo hizo, re-pondera.
- Uso a nivel cuenta vs. nivel usuario. Algunos productos tienen un power user y 99 usuarios dormidos; esa cuenta es saludable o no dependiendo del contexto. Construye pesos por segmento si hace falta.
Stack
- n8n — orquestación y agregación
- Gainsight — datos de uso y destino del score
- HubSpot — señal de soporte y actividad
- Gong — transcripts de conversaciones para sentimiento
- Claude — clasificación de sentimiento y generación de razón