Houdrik
Un negocio de servicios B2B en crecimiento

De ops en spreadsheet a un pipeline de leads con n8n + LLM

Reemplazamos una hoja de cálculo y un operador agotado por una capa de automatización en n8n, un paso de análisis con un LLM y notificaciones multicanal. El tiempo de respuesta a leads cayó fuerte, ya no se pierde nada.

Cover · case-n8n-ai-automation

El problema

El cliente tenía un negocio funcionando y un intake roto. Los leads llegaban por el formulario del sitio, tres alias de email y DMs en dos canales sociales. Alguien los copiaba a mano a una hoja de cálculo, a veces el mismo día, a veces el lunes por la mañana. Las consultas de clientes se triaban desde el mismo inbox por la misma persona.

Esa persona era el cuello de botella. Cuando estaba de vacaciones, los tiempos de respuesta pasaban de horas a días. Dos leads en el último trimestre se notaron solo cuando el prospect escribió de nuevo preguntando si alguien lo estaba leyendo. El CRM era un mundo aparte — se poblaba retroactivamente, una vez por semana, desde la hoja de cálculo.

No había capa de análisis. Una consulta nueva sobre precios para un paquete de 50 asientos se veía igual que un pedido para actualizar una dirección de facturación. El operador decidía qué era urgente según el asunto del mensaje y su memoria del remitente. El equipo había construido un negocio real sobre un workflow que no escala más allá de una persona.

Qué construimos

Elegimos n8n como capa de orquestación porque tú, el cliente, querías leer los workflows tú mismo después de que nos fuéramos. El grafo visual de n8n es honesto sobre lo que es — una serie dirigida de llamadas HTTP, transformaciones y ramas — y no esconde un runtime propietario debajo. Trade-off dicho en voz alta: n8n es más lento de escribir que código puro para un solo ingeniero, y más rápido de mantener para un dueño no-ingeniero. El cliente es el segundo caso.

El lado de intake es un fan-in. Llamadas entrantes (webhooks) del formulario del sitio, un poller de email para los tres alias, y los canales oficiales de las dos plataformas sociales aterrizan en el mismo punto de entrada de n8n. Normalizamos el payload a un schema único — source, channel, raw_body, contact, received_at — y lo escribimos a una base de datos antes de hacer cualquier otra cosa. Si el paso del modelo o el CRM downstream falla, nada se pierde; replicamos desde el almacenamiento.

El paso de análisis es una sola llamada a un LLM con un schema de salida estructurada. El prompt es corto y deliberadamente conservador: clasifica intent, extrae campos de contacto, estima urgencia en una escala de tres niveles, marca cualquier cosa que parezca spam o una postulación de trabajo. Medimos el modelo contra doscientos mensajes históricos antes del launch y ajustamos el prompt hasta que las clasificaciones coincidieran con el juicio del operador en los casos que importaban. Los edge cases que el modelo se equivoca ruteo a una cola de revisión humana en lugar de una respuesta confiadamente incorrecta.

El dispatcher de notificaciones es basado en reglas sobre la clasificación. Leads de venta de alta urgencia notifican al dueño de cuenta en el canal de chat que ya usa. Las consultas de soporte notifican al inbox compartido de soporte y a un canal de equipo. Cualquier cosa clasificada como spam o fuera de tema se loguea y se descarta. Las reglas viven en un pequeño archivo JSON que tú puedes editar; no las escondimos en una tabla de base de datos porque leerlas es más importante que escribirlas.

El paso final empuja el lead estructurado al CRM por su API, con el mensaje raw original adjunto como nota para contexto. El CRM es la fuente de verdad desde ese momento. n8n guarda una copia de cada run durante treinta días para debugging, después purga.

Agregamos un dashboard pequeño — una página, renderizada en servidor, sin framework — mostrando las últimas veinticuatro horas de intake, el breakdown de clasificación, y cualquier item en la cola de revisión humana. El operador la abre una vez por la mañana en lugar de refrescar una hoja de cálculo todo el día.

Resultado

  • Tiempo de respuesta a leads cortado desde una mediana de varias horas a menos de quince minutos en horas hábiles.
  • Aproximadamente un día completo de trabajo por semana de ops manuales eliminados para el operador.
  • Cero leads perdidos desde el launch — cada mensaje entrante está en almacenamiento en segundos.
  • El CRM ahora tiene un registro de lead limpio y estructurado para cada contacto, poblado automáticamente.
  • El ruido de spam y mensajes fuera de tema desapareció del día del operador por completo.
  • Leads de alta urgencia ahora llegan al dueño de cuenta en el canal de chat que ya usa, en tiempo real, en el dispositivo que ya tiene en la mano.

Entrega

Tú eres dueño de la instancia de n8n, la base de datos, el prompt, las reglas de ruteo y el dashboard. Desplegamos todo en infra que ya pagabas. No hay componente hosteado por Houdrik en el camino crítico.

Escribimos un runbook corto cubriendo los tres modos de falla que realmente vimos durante el build: la API del modelo estando lenta, la API del CRM rate-limiteando bajo carga en ráfaga, y un workflow de n8n editado a un estado roto. Cada uno tiene un procedimiento de recuperación concreto que un no-ingeniero puede seguir. No escribimos un runbook para fallas hipotéticas; documentamos lo que se rompió y cómo lo arreglamos.

El hand-over tomó medio sprint. Dos personas tuyas ahora editan las reglas de ruteo y el prompt por su cuenta. Estamos disponibles para alguna pregunta ocasional, pero el sistema lleva seis semanas corriendo sin que lo toquemos.

¿Tienes una app que necesita durar?

Llévala de prototipo a producción.

Respondemos en un día laborable. MVP vibecoded, draft generado por IA, proyecto a medio terminar, o un producto funcionando que empieza a crujir — todo es bienvenido.

Iniciar un proyecto