HEAT TASK × Carlos Domínguez
Lectura técnica previa · para conversar

El cuello de botella no es el paso 5. Es lo que lo causa.

Me pidieron mirar la operación de tickets con ojo técnico y decirles qué está mal planteado de raíz. Esto es lo que veo desde afuera, antes de tocar el código.

Para Piero y Sebastián Sobre 35 clientes · 264 tickets resueltos · 1 persona a tiempo completo
01 · PUNTO DE PARTIDA

El flujo de hoy, como me lo describieron

Lo pongo tal cual para asegurarme de que entendí bien. Si algo está mal en este mapa, todo lo que viene después se corrige solo.

1
La ejecutiva carga el ticket en el portal, con compromiso de 72 horas
Humano
2
Una skill propia con la API de Anthropic arma el paquete de contexto
Automático
3
Se descarga el paquete en MD o ZIP
Humano
4
Se carga en Claude Code y se aplican los cambios sobre el agente
Humano con IDE
5
Lo que la consola no cubre se resuelve a mano con Claude en Chrome, uno por uno
Cuello de botella

Lo que ya funciona y no hay que tocar: el portal ordena, el equipo lo usa y el paso 2 ya está automatizado. La skill que arma el contexto es buena señal: significa que el problema no es de disciplina, es de arquitectura.

02 · EL DIAGNÓSTICO

Por qué existe el paso 5

El paso 5 es el síntoma. La causa está tres capas más abajo, y es una sola.

LA RAÍZ

La configuración de los agentes vive como código, no como datos.

Si para cambiar el tono de un agente hay que generar una carpeta, descargarla, abrir Claude Code y aplicar cambios, es porque el comportamiento del agente es un artefacto de código que se edita y se vuelve a desplegar.

Eso convierte una petición de una línea, como "que responda más formal" o "agrega este PDF a su base de conocimiento", en una tarea que exige a una persona con IDE y criterio técnico.

El día que el prompt, el tono, las reglas y la base de conocimiento vivan en la base de datos, cambiarlos deja de ser un deploy y pasa a ser un UPDATE. Y un UPDATE lo puede hacer un formulario, operado por quien recibe el ticket.

Las cuatro causas, en orden de peso

Configuración como código

Cada cambio de comportamiento pasa por un IDE. Es la causa de la mayor parte del trabajo manual.

Sin catálogo de acciones

264 tickets resueltos y cada uno se atacó como si fuera el primero. Las acciones repetidas no están extraídas ni parametrizadas.

Sin clasificación ni ruteo

Todo entra por la misma puerta y lo toma la misma persona. Nada distingue un cambio de tono de algo que toca un workflow.

Sin control del radio de impacto

Si los cambios se aplican a mano sobre archivos, nada garantiza que tocar al cliente A no rompa al B. Sin versionado ni rollback, cada cambio es un acto de fe.

La cuarta no es solo eficiencia, es seguridad. Con 35 clientes pagando, el aislamiento entre configuraciones es exactamente el mismo problema que ya está sobre la mesa para el CRM 2.0. No son dos proyectos: es la misma base.

03 · EL REDISEÑO

La pregunta correcta no es quién resuelve el ticket, sino a qué altura se resuelve

Hoy casi todo se resuelve en el piso más caro. El trabajo consiste en bajar cada tipo de tarea uno o dos pisos, y dejar arriba solo lo que de verdad necesita criterio técnico.

NIVEL 3

Escala al líder técnico

Arquitectura, workflows nuevos, integraciones, backend. Aquí sí corresponde.

META: MENOS DEL 10%
NIVEL 2

Se ejecuta solo

El sistema aplica la acción del catálogo, con aprobación humana antes de publicar.

AUTOMÁTICO
NIVEL 1

La ejecutiva, desde el panel

Sin código y sin Claude Code. Aquí debería vivir el grueso del volumen.

EL GRUESO
NIVEL 0

El cliente lo hace solo

Lo que ni siquiera debería llegar a ser un ticket.

SELF-SERVICE

Dónde caería cada tarea que me describieron

TareaHoyDebería
Ajustar el tono del agenteN3 · Claude CodeN1 · selector con preview
Cargar o corregir base de conocimientoN3 · Claude CodeN0 · subir archivo, reindexado solo
Cambiar cómo responde ante un casoN3 · Claude CodeN1 · editor de reglas con prueba en vivo
Mover contacto de etapa en GoHighLevelN3 · Chrome a manoN2 · acción del catálogo por API
Implementar cliente nuevo (IMP)N3 completoN1 con plantilla, N3 solo lo específico
Integración con sistema externo (INT)N3N3 · aquí está bien
04 · CÓMO LO CONSTRUIRÍA

Cuatro fases, en este orden y no en otro

El orden importa más que la velocidad. Automatizar antes de medir es la forma más cara de equivocarse.

FASE A · PRIMERAS DOS SEMANAS

Instrumentar y medir

Hoy el panel mide pendientes, en curso y terminadas. Eso dice cuánto trabajo hay, pero no de qué tipo, y sin eso no se sabe qué automatizar.

  • Definir una taxonomía real de tickets, por tipo de acción
  • Etiquetar los 264 históricos con un pase de LLM, no a mano
  • Sacar el Pareto: qué cinco tipos cubren la mayor parte del volumen
  • Medir tiempo de resolución por tipo, cuántos escalan y costo de IA por ticket
FASE B · EL CORAZÓN

Mover la configuración de código a datos

Es el cambio que elimina los pasos 3 y 4 para la mayoría de los tickets de tipo IA.

  • Modelar en base de datos el prompt, el tono, las reglas y la base de conocimiento por cliente
  • Versionado por cliente, con historial, diff y rollback en un clic
  • Edición con preview en vivo: probar contra conversaciones reales antes de publicar
  • Registro de auditoría: quién cambió qué, cuándo y por qué ticket
  • Aislamiento por diseño, no por cuidado manual
FASE C · MATA EL PASO 5

Catálogo de acciones

Convertir los tipos más frecuentes en acciones parametrizadas, con un botón detrás. "Claude en Chrome uno por uno" existe porque no hay una acción de API expuesta.

  • Acciones sobre GoHighLevel: mover etapa, etiquetar, disparar workflow, actualizar campo
  • Acciones sobre el agente: recargar conocimiento, activar capacidad, ajustar parámetro
  • Plantillas de implementación, para que el onboarding deje de ser artesanal
  • Cada acción con sus permisos, su log y su rollback
FASE D · SOLO DESPUÉS DE LAS TRES ANTERIORES

Agente interno de tickets

Aquí es donde su negocio se vuelve recursivo: usan agentes para vender agentes, pero la operación interna todavía es manual.

  • Lee el ticket, lo clasifica contra la taxonomía y propone la acción del catálogo
  • Nunca ejecuta sin aprobación humana en las primeras iteraciones
  • Con el tiempo, lo de bajo riesgo y alta frecuencia puede auto-aprobarse
05 · CRITERIO

Lo que no haría

Vale tanto como lo anterior. Estos son los errores que veo caer seguido en este tipo de rediseño.

No automatizar antes de medir

Automatizar el tipo de ticket equivocado es trabajo tirado a la basura, y encima da la sensación de avance.

No poner un agente a ejecutar sin aprobación

Con 35 clientes pagando, un agente mal calibrado tocando configuraciones es un incidente esperando a ocurrir.

No migrar los 264 históricos a mano

Se etiquetan con un pase de LLM y se archiva lo que no aporte. Nadie debería leer 264 tickets uno por uno.

No construir un portal nuevo

HEAT Task funciona y el equipo lo usa. Se le agregan capas, no se reemplaza. Reescribir lo que ya opera es el error clásico.

06 · PARA CONFIRMARLO

Qué necesito ver

Todo lo anterior es una hipótesis fundada, construida desde afuera. Con esto la confirmo o la corrijo en cuestión de días.

Lo digo de frente: nada de este documento es un diagnóstico. Es lo que veo desde afuera con la información que me dieron, y lo comparto antes de la reunión para que hablemos de algo concreto en vez de generalidades. Si al abrir el código resulta que la configuración ya está en base de datos, la mitad de esto sobra y se los digo el primer día.

07 · CÓMO SE MIDE

Qué debería cambiar si esto funciona

Propongo las métricas desde ahora para que en el mes dos podamos mirar números y no impresiones.

MétricaHoyHacia dónde
Tickets resueltos sin tocar códigoPrácticamente ningunoLa mayoría
Tickets que escalan al nivel técnicoCasi todosMenos del 10%
Tiempo medio de resoluciónDentro de las 72 h comprometidasHoras, no días
Dedicación del equipo a la operaciónUna persona a tiempo completoUna fracción
Rollback ante un cambio maloNo existeUn clic

Lo que esto vale, en su propia moneda: una persona a tiempo completo son alrededor de 160 horas al mes. Si el catálogo cubre aunque sea la mitad del volumen, son unas 80 horas mensuales liberadas, más el tiempo de Piero que hoy se va en lo que escala. Y en una agencia cuyo diferenciador declarado es el acompañamiento, bajar el tiempo de respuesta impacta directo en lo que venden.

08 · SUS PREGUNTAS

Respuestas para la reunión

Las revisamos juntos el jueves, pero aquí les dejo un adelanto para que lleguen sabiendo dónde estamos de acuerdo y dónde hay que conversar. Sigo el mismo orden de su documento, de la A a la F.

De acuerdo, sin cambios De acuerdo con un matiz Aquí lo veo distinto
A

Alcance del mensual

DE ACUERDO CON UN MATIZ
El fee mensual cubre todo el soporte y desarrollo de HEAT: depuración, mejoras, endurecimiento, backend nuevo y lo que vaya surgiendo en el día a día.
Sí en el fondo, con una precisión que nos va a evitar el malentendido del mes tres que ustedes mismos mencionan: el mensual compra capacidad, no alcance ilimitado. Es una cantidad de horas de dedicación al mes, aplicadas a lo que ustedes prioricen. Dentro de esa capacidad entra todo lo que describen. Lo que no cabe no desaparece: se acomoda en la cola o ajustamos la capacidad. Propongo que la cifra de horas quede escrita en el acuerdo y que yo reporte el consumo cada semana en la sesión con Piero, para que nunca sea una sorpresa.
AQUÍ LO VEO DISTINTO
La instalación del stack de agentes de voz entra dentro del mensual, no como producto aparte.
Esta es la única diferencia real que tengo con el documento. La coticé como proyecto cerrado porque es un trabajo con principio y fin, y porque habilita un ingreso recurrente de ustedes: el add-on ya está publicado a 199 dólares al mes. Puede entrar al mensual sin problema, pero desplazando otro frente, porque consume las mismas horas. Las dos opciones me parecen razonables y la eligen ustedes: proyecto cerrado en paralelo, o dentro del mensual ocupando el lugar de otra prioridad. Lo que no se sostiene es que entre sin ocupar espacio.
DE ACUERDO
Lo único que se cotiza por separado es HEAT Academy.
Confirmado, tal como lo dejaron escrito.
DE ACUERDO CON UN MATIZ
Las verticalizaciones de fase 2 son evolución del CRM 2.0, así que también las esperamos dentro del mensual.
De acuerdo con el principio, pero necesitamos un criterio de corte escrito, porque "capa sobre el CRM 2.0" puede significar cosas muy distintas. Lo que propongo: si la verticalización usa el mismo modelo de datos y las mismas integraciones, entra en el mensual. Si trae lógica de negocio nueva, un modelo de datos propio o una integración nueva, se cotiza. Agendamiento clínico y venta de autos probablemente caen del lado de cotizar; una vista distinta de lo mismo, no. Con ese criterio ninguno de los dos tiene que adivinar.
B

Capacidad

RESPUESTA CONCRETA
Con los cuatro frentes de fase 1 sobre la mesa, ¿cuántos consideras sano abordar en paralelo en los primeros dos meses?
Dos. Y prefiero explicar por qué en vez de solo dar el número: paralelizar cuatro frentes con una sola persona no los entrega antes, los entrega peor, y el costo se paga justo donde más duele, que es seguridad y aislamiento. Mi propuesta de orden es frente 02 (CRM 2.0) junto con el frente 01 (agentes, onboarding y Task), porque comparten la misma base y el trabajo de uno acelera el del otro. Voz e integraciones entran después, cuando esa base esté firme. Si su prioridad comercial es otra, la acomodamos, pero sigue siendo de a dos.
SÍ, Y ES IMPORTANTE QUE SEA ASÍ
¿Documentación de arquitectura y estándares de código entran como entregable del mensual?
Sí, entran, y quiero subrayar por qué: es lo que hace que dentro de seis meses no dependan de mí igual que hoy dependen de Piero. Documentación de arquitectura, estándares escritos y decisiones registradas son parte del trabajo, no un extra. Es la misma razón por la que me parece correcto que los repositorios estén en su organización desde el día uno.
DE ACUERDO
Si en algún momento ves que el volumen te supera, queremos saberlo apenas lo veas venir.
De acuerdo, y lo hago concreto para que no dependa de mi buena memoria: en la sesión semanal con Piero reporto capacidad consumida y cola pendiente. Si veo que un mes se desborda, lo digo en la sesión de esa semana y no al final del mes.
C

Rol y responsabilidad

DE ACUERDO
El backend lo escribes tú. Piero sale del desarrollo y queda en idea, prototipo, diseño y UX.
De acuerdo, y me parece la decisión más sana de todo el documento. Agrego una sola cosa: responder por la arquitectura implica poder decir que no a cambios que la comprometan, aunque vengan con prisa comercial. No lo digo como condición sino porque es lo que hace que el compromiso valga algo.
DE ACUERDO
Asumes la dirección de arquitectura y respondes por los entregables.
Confirmado.
AQUÍ VA MI PROPUESTA
Lo único que necesitamos de ti: qué zonas puede tocar Piero para ajustes acotados y cuáles quedan cerradas.
Propongo esta línea, y la conversamos el jueves porque tiene que funcionarle a Piero en el día a día.

Piero sigue tocando sin pedir permiso: frontend y UX, contenido y copy, configuración de clientes desde el panel, y todos los prototipos que quiera en repositorios aparte.

Queda cerrado: backend en producción, migraciones de base de datos, variables de entorno y llaves, integraciones y despliegues.

El mecanismo: todo cambio que llegue a producción pasa por revisión. No es burocracia ni desconfianza hacia Piero, es la única forma de que yo pueda responder por lo que se rompe. Y mientras el rediseño de la operación avance, cada vez más cosas van a poder hacerse desde el panel sin tocar código, que es justo el punto.
D

Operación, tareas e incidentes

DE ACUERDO CON UN MATIZ
Gestión de tareas: ¿te hace sentido el reparto por niveles que proponemos?
Me hace sentido el fondo: que lo simple lo resuelva el equipo y lo que escala llegue a mí. El matiz es que el criterio no debería ser la dificultad de la tarea sino la altura a la que se resuelve, que es lo que desarrollo en la primera parte de este documento. Hoy hasta un cambio de tono termina arriba porque no hay dónde resolverlo abajo. A medida que bajemos tareas de piso, el reparto se corrige solo y Sebastián Godoy va a poder resolver cosas que hoy no puede.
RESPONDIDO ARRIBA
Viendo el flujo actual, ¿qué crees que se puede automatizar y qué debería estar dentro de la consola de agentes?
Es lo que responde todo lo anterior de este documento, así que no lo repito aquí. El resumen es que la configuración debe vivir en base de datos y las acciones repetidas deben ser botones con API detrás, no trabajo manual en Chrome. Para confirmarlo necesito el export de los 264 tickets y media hora viendo resolver tres en vivo.
PROPUESTA CONCRETA
Tiempos de respuesta ante una caída total o un error crítico en producción. ¿Qué pasa un fin de semana?
Primero hay que separar qué es crítico de qué es urgente, porque hoy todo tiende a llamarse crítico. Propongo tres niveles: caída total (el cliente no puede usar el sistema), degradación (funciona lento o falla una parte) y error puntual (afecta a un cliente o a un flujo).

Mi propuesta: cobertura de lunes a viernes en horario laboral, con respuesta comprometida para caída total dentro de ese horario. Fines de semana y fuera de horario, mejor esfuerzo para caída total y el resto entra el siguiente día hábil.

Lo digo derecho: una guardia 24/7 garantizada es otro tipo de acuerdo y hay que costearla aparte. Prefiero comprometer algo que pueda cumplir siempre, antes que prometer disponibilidad total y fallar el domingo que de verdad importe. Si más adelante el negocio lo pide, lo armamos.
LISTA CONCRETA
¿Qué necesitas de nuestro lado para que el monitoreo funcione desde el mes uno?
Accesos a Vercel, la base de datos y GoHighLevel; un canal donde lleguen las alertas y que alguien mire; y una definición acordada de qué cuenta como caída. Con eso puedo dejar monitoreo básico y alertas funcionando dentro del primer mes. Lo que hoy pasa es que se enteran por el WhatsApp de un cliente, y eso es lo primero que hay que cambiar.
E

Agentes de voz

AQUÍ LO VEO DISTINTO
La instalación la consideramos incluida en el Nivel 3, no un proyecto cerrado aparte.
Es el mismo punto de la sección A y agradezco que lo hayan puesto por escrito en vez de dejarlo para después. Mi lectura: la instalación es un trabajo acotado que habilita un producto que ustedes ya venden a 199 dólares al mes. Puede vivir dentro del mensual, siempre que ocupe el lugar de otro frente en la cola. Lo resolvemos el jueves en dos minutos.
LO DOY, CON SUPUESTOS
Necesitamos la estimación de costo mensual por cliente activo, para calcular el margen real del add-on.
Se las doy, pero no como número suelto porque sería inventar. El costo depende de tres variables que ustedes conocen mejor que yo: llamadas por cliente al mes, duración media de cada llamada, y si son entrantes, salientes o ambas. Denme esos tres números y les entrego el costo por cliente desglosado en telefonía, proveedor de voz y modelo, con el margen calculado contra los 199 dólares. Si no los tienen medidos todavía, armo el modelo con rangos para que comercial sepa el piso y el techo antes de seguir vendiendo.
LISTA CONCRETA
¿Qué necesitas definido de nuestro lado antes de arrancar la instalación?
Tres decisiones: si los números son chilenos genéricos o con lada de una ciudad concreta, porque lo segundo exige documentación de domicilio fiscal en esa ciudad y el trámite lo tienen que hacer ustedes. Si va un número por cliente o uno compartido, que cambia el costo y la arquitectura. Y qué caso de uso va primero, entrante o saliente. Las cuentas de telefonía y del proveedor de voz a nombre de HEAT, como ya dejaron escrito.
MARCO, NO FECHA
¿Cuánto tiempo después de ordenar el CRM 2.0 podría estar operativo?
No les voy a dar una fecha sin haber visto el código, porque sería un número inventado y ustedes lo van a usar para vender. Lo que sí puedo decir: la instalación base es cuestión de semanas y no de meses, porque es un stack que ya tengo funcionando en producción en otro cliente. Después del diagnóstico les doy fecha con compromiso, y esa sí se la pueden pasar a comercial.
F

HEAT Academy

DE ACUERDO
El fee es por curso producido, no por nicho. Dos cursos distintos del mismo nicho pagan dos fees.
Confirmado, quedó conversado así.
DE ACUERDO
Cada curso se cotiza, se aprueba y se agenda por separado, sin comprometer un número fijo por trimestre.
De acuerdo, y me parece lo correcto para los dos. Así ninguno queda amarrado a un calendario que después no pueda cumplir.
NECESITO PRECISAR LA REDACCIÓN
Todo el material producido para HEAT es propiedad de HEAT. No se replica, no se reutiliza y no se dicta en ninguna otra comunidad, plataforma o cliente.
De acuerdo con el fondo: lo que produzca para HEAT es de HEAT, no lo reutilizo y no lo dicto en otro lado. Sin problema.

Lo que necesito precisar es el alcance de esa frase, porque tal como está redactada se puede leer de dos maneras muy distintas. Una es que los materiales entregados (guiones, grabaciones, currícula, ejercicios) son exclusivos de HEAT, y con eso estoy completamente de acuerdo. La otra es que quedo impedido de enseñar el tema en cualquier otro lugar, y eso no lo puedo firmar: doy clases de IA aplicada desde antes de esta conversación y es parte de mi actividad habitual.

La solución es una línea en el contrato que deje claro que la exclusividad es sobre el material producido y no sobre el conocimiento, la metodología ni la materia. Es un ajuste de redacción, no un cambio de acuerdo, y creo que es lo que ustedes tenían en mente de todas formas.
DE ACUERDO
Lo que se venda de esos cursos es de HEAT, completo.
Confirmado, tal como lo planteé desde el inicio.
G

Dos cosas que agrego yo

AJUSTE DE REDACCIÓN
Propiedad intelectual: "todo lo desarrollado para HEAT es de HEAT, incluyendo código, documentación y arquitectura".
De acuerdo para todo lo que construya para ustedes. Falta cubrir un caso que hoy no está contemplado: yo trabajo con herramientas, plantillas y librerías propias que existían antes de este acuerdo y que uso con todos mis clientes. Esas siguen siendo mías, y HEAT recibe licencia de uso sobre lo que quede integrado en el entregable. Es una cláusula estándar y evita una discusión incómoda más adelante, cuando ya no se acuerde quién trajo qué.
PARA EL PRIMER MES
Ciclo de pago: el día 5 del mes siguiente, igual que al resto del equipo.
Sin problema como esquema permanente, entiendo que así opera todo su equipo. Lo único que pido es que el primer mes se pague por adelantado o partido a la mitad. No es desconfianza: es lo que hago con cualquier cliente nuevo antes de que exista historial entre las partes. Del segundo mes en adelante entramos al ciclo normal y no lo volvemos a tocar.

Para que quede dicho: de todo lo que plantearon, tengo una sola diferencia de fondo (dónde vive la instalación de voz) y dos ajustes de redacción que protegen a ambos. Todo lo demás lo firmo como está. Lo escribo así de claro para que el jueves usemos el tiempo en lo que falta y no en repasar lo que ya está resuelto.