Saltar al contenido
Datasmarts
Menú

De $500 a $50 al mes: reconstruir el stack de una agencia

una agencia de producto digital

90%menos costo mensual de automatización, de $500 a $50
menos de 20 segundosde tiempo de respuesta, antes unos 3 minutos
50+usuarios en el proceso de inteligencia de correo
300+correos clasificados y resumidos a diario

El reto

La automatización de la agencia funcionaba, y poco a poco se estaba volviendo el problema. Todo corría en una plataforma sin código alojada: alrededor de $500 al mes en costo operativo, y unos 3 minutos para que un usuario recibiera una respuesta. Tres minutos está bien para un trabajo nocturno e inservible para cualquier cosa donde una persona espera.

El costo y la latencia eran síntomas de lo mismo. Cobrar por operación significaba que cada flujo nuevo empeoraba la factura, y el modelo de ejecución de la plataforma significaba que cada paso nuevo alargaba la espera. El stack había llegado al punto en que hacer más de lo que la agencia quería empeoraba los dos números.

El enfoque

Tratamos esto como una decisión de construir contra comprar y no como un tiquete de migración. Las plataformas de automatización alojadas valen lo que cuestan cuando la carga es pequeña e irregular. Esta carga no era ninguna de las dos: era constante, crecía y estaba cada vez más armada alrededor de llamadas a modelos que la plataforma cobraba por operación y ejecutaba lento.

Así que el plan fue mover la orquestación a n8n autoalojado, y mover a Python plano las partes que en realidad eran software. La división importa. Los flujos que alguien sin perfil técnico debería poder leer y ajustar se quedaron como flujos de n8n. Todo lo que hiciera procesamiento de lenguaje en varias etapas, normalización de APIs o manejo de estado pasó a Python, donde se podía probar.

La solución

Migramos el stack y reconstruimos dos sistemas encima.

Un proceso de inteligencia de correo. Un proceso de procesamiento de lenguaje en varias etapas, con GPT-4 y Gemini 1.5 Pro, clasifica y resume más de 300 correos al día para más de 50 usuarios, extrae tareas accionables y escribe registros estructurados en Supabase con 80% de precisión. La clasificación que antes era manual ahora es una cola que una persona revisa en vez de una cola que una persona arma.

Un agente conversacional de agendamiento multiinquilino. Más de 20 usuarios activos manejan Google Calendar en lenguaje natural desde la aplicación de mensajería que ya usan: Signal, Slack, WhatsApp o Telegram. Google Maps y Tavily Search están conectados para buscar lugares y resolver ubicaciones, así que “agenda un almuerzo el jueves cerca de la oficina” se resuelve en un lugar real y un espacio real.

Debajo del agente hay una capa de abstracción de mensajería independiente de la plataforma. Cada API de canal difiere de las otras en cosas fundamentales, así que la capa las normaliza en una sola interfaz conversacional mientras mantiene un aislamiento estricto de datos por canal. Agregar un canal es un adaptador, no una reescritura.

Resultados

  • El costo operativo bajó 90%, de alrededor de $500 al mes a alrededor de $50.
  • El tiempo de respuesta bajó de unos 3 minutos a menos de 20 segundos.
  • Más de 300 correos al día clasificados y resumidos para más de 50 usuarios, con 80% de precisión en la extracción estructurada.
  • Más de 20 usuarios activos agendando en lenguaje natural en cuatro plataformas de mensajería.

La cifra de costo es la que la agencia notó primero. La cifra de latencia es la que cambió lo que estuvieron dispuestos a automatizar después, porque una respuesta de 20 segundos vuelve valiosos los flujos conversacionales y una de 3 minutos no.

Qué lo hizo difícil

Los canales de mensajes no coinciden en nada. Dos de ellos difieren en identidad, en semántica de entrega, en cómo funcionan los adjuntos y hasta en qué es una conversación. La capa de abstracción tenía que esconderle todo eso al agente sin volverse una interfaz de mínimo común denominador que hiciera igual de malos a todos los canales, y tenía que mantener los inquilinos aislados por canal mientras lo hacía. Ese requisito de aislamiento es lo que impidió que fuera un envoltorio delgado: una fuga entre dos inquilinos en el mismo canal habría sido peor que cualquier caída.

La migración en sí cargaba con el riesgo habitual de una reescritura, que es que el sistema nuevo queda 90% bien y el 10% que falta es la parte de la que alguien depende a diario. Movimos los flujos de forma incremental en vez de en un solo cambio de golpe, lo que es más lento de terminar y mucho más barato para equivocarse.

Qué cambió la migración

  • Antes

    1. Plataforma sin código alojada

      Todos los flujos, cobrados por operación, con la lógica de canal repetida en cada uno

  • Después

    1. n8n autoalojado

      Los mismos flujos, en infraestructura del cliente

    2. Servicios en Python

      Los pasos que resultaban incómodos de expresar como nodos

    3. Capa de abstracción de canales

      Una sola interfaz frente a los canales de mensajería, para que agregar uno sea un cambio de configuración

Una plataforma sin código alojada que corría todos los flujos fue reemplazada por n8n autoalojado con servicios en Python, y se agregó una capa de abstracción de canales entre los flujos y los canales de mensajería para poder cambiar un canal sin tocar un flujo.

Siguiente caso de estudio

menos de 2 minutos

para armar el reporte semanal de prospectos, antes 5 horas

De 5 horas a menos de 2 minutos: el reporte de una firma legal

una firma estadounidense de servicios legales

Lee el caso de estudio

Tu proceso probablemente está en esta lista de alguna forma

La lectura que le cuesta un día a la semana a una persona, el reporte que nadie quiere armar, las preguntas que interrumpen al mismo gerente. Cuéntanos cuál es el tuyo y te decimos si vale la pena automatizarlo.