💡 Tip: Antes de empezar, recuerda que un Cortex es un solo asistente. Los nodos no son asistentes distintos, sino etapas de una misma conversación. Al pasar de un nodo a otro, el asistente mantiene la memoria de todo lo hablado; solo cambia su objetivo en ese momento específico.
🌳 Paso 1: Piensa la estructura
Antes de escribir cualquier instrucción en la plataforma, haz un boceto en papel (o en una pizarra virtual) respondiendo a dos preguntas clave:
🙋 ¿Qué puede querer el cliente? (Ej. pedir información, agendar una cita o hablar con una persona).
🏁 ¿De qué formas puede terminar la conversación? (Ej. con una cita agendada, con la consulta resuelta o derivada a un agente humano).
Con estas respuestas, arma tu estructura visual como si fuera un árbol de decisiones.
Aplica siempre estas tres reglas simples:
Crea un nodo nuevo solo cuando cambia el objetivo: Responder dudas y agendar una cita son objetivos distintos; saludar y hacer la primera pregunta no lo son.
No conectes entre sí los nodos que salen del mismo origen: Si tus nodos de "Información" y "Agendamiento" nacen de la "Bienvenida", ya pueden transicionar entre sí automáticamente según el contexto. Si fuerzas una conexión manual entre ellos, el asistente podría saltarse la recolección de datos obligatorios.
Cada nodo necesita al menos una salida: Ya sea hacia otro nodo o hacia una rama de salida final. Si un nodo no tiene vías de escape, la conversación quedará atrapada.
💡 Tip: La regla de oro: Si no puedes explicar en una sola frase la diferencia entre dos nodos, probablemente deberían fusionarse en uno solo.
🎯 Paso 2: Define cada nodo
🧬 Primero: La identidad (Configuración Global)
En el System Prompt de la Configuración Global ⚙️, escribe quién es el asistente, a qué empresa representa, su tono, su idioma y qué restricciones tiene (lo que no debe hacer). Esta identidad aplica a toda la conversación, así que no desperdicies espacio repitiéndola en cada nodo individual.
✍️ El objetivo del nodo (Conversation Goal)
Debe ser corto y concreto. Explica qué debe lograr el asistente en esa etapa y en qué momento se considera que ha terminado. Tres o cuatro líneas son suficientes.
✅ Así se hace: "Averigua qué servicio necesita el cliente y si ya nos visitó antes. Pregunta una cosa a la vez. Cuando tengas ambos datos, continúa."
❌ Evita esto: "Ayuda al cliente con lo que necesite." (Es demasiado general y la IA no sabrá cuándo cumplió su meta).
🔀 Cuándo pasar a otro nodo (Transiciones)
Cada conexión entre nodos tiene una condición. Escríbela siempre describiendo algo que el cliente dijo o hizo:
✅ Correcto: "El cliente confirmó que quiere agendar una cita."
✅ Correcto: "El cliente pidió explícitamente hablar con una persona."
❌ Incorrecto: "Ir a agendamiento." (Es una orden para el sistema, no una acción del cliente).
❌ Incorrecto: "Si está interesado." (Es ambiguo y casi siempre se cumplirá).
⚠️ Importante: Cuida que dos condiciones de transición no puedan ser ciertas al mismo tiempo; si esto ocurre, el asistente elegirá la ruta al azar.
🛠️ Herramientas (Tools)
Agrega solo las herramientas que el nodo realmente necesita. Cuantas más herramientas tenga habilitadas a la vez, más propenso será a confundirse.
Escribe una descripción muy clara de qué hace la herramienta y exactamente cuándo debe usarse.
En el objetivo del nodo, menciónala utilizando su nombre exacto con el formato
@[NombreHerramienta]y explica qué hacer con la respuesta. Ej: "Consulta @[VerificarStock] antes de prometer disponibilidad. Si no hay stock, ofrece las alternativas."
🔘 Formatos interactivos (Botones, Listas, Carruseles)
Úsalos exclusivamente cuando el cliente deba elegir entre opciones cerradas.
Formato | Ideal para | Límite Técnico Estricto |
🔘 Botones | Elegir entre 2 o 3 opciones rápidas | Máximo 3 botones (20 caracteres c/u) |
📋 Lista | Desplegar un menú de múltiples opciones | Máximo 10 filas |
🎠 Carrusel | Mostrar productos, servicios u horarios visualmente | Máximo 10 tarjetas |
⚠️ Importante: Si superas el límite de elementos configurados, lo que sobre se perderá sin previo aviso al enviarse a WhatsApp. Indica siempre en tu Prompt cuándo usar el formato y cierra con la instrucción: "En cualquier otro caso, responde con texto."
📚 Documentos (Base de Conocimiento)
Adjunta a cada nodo únicamente los documentos que necesita consultar en esa etapa específica. Llenar un nodo con PDFs innecesarios no mejora las respuestas, las empeora por saturación de contexto.
🏁 Paso 3: Define las ramas de salida
Las ramas de salida representan las formas definitivas en las que puede terminar la interacción con Cortex.
🏷️ Nombra por acción: El nombre debe reflejar lo que pasó en el chat, no lo que el sistema debe hacer después. (Ej: ✅
cita_agendada| ❌enviar_confirmacion).🟢🟡🔴 Cubre siempre los 3 escenarios: Asegúrate de tener ramas para cuando todo salió bien, cuando el cliente rechazó la oferta/servicio, o cuando solicitó ayuda humana.
🔗 Conexión vital: Cada rama de salida que crees aquí aparecerá luego en Flowbuilder y deberá ser conectada a un bloque de acción. Si ya existe una rama que sirve, reutilízala.
💡 Tip: El Cortex no asigna conversaciones a los asesores humanos directamente. Su rol es avisarle al cliente que alguien de tu equipo tomará su caso y luego enviar la conversación por una rama (ej. requiere_humano). La asignación a la bandeja de entrada se configura posteriormente en Flowbuilder, vinculando esa rama a un bloque de asignación.
⚠️ Importante: ¿Qué pasa si el cliente deja de responder? La falta de respuesta no es una rama de salida. Esto se gestiona con la herramienta de recuperación por inactividad. Si el cliente ignora los recordatorios, Flowbuilder cerrará la conversación automáticamente por su propia salida de inactividad.
📥 Paso 4: Recolecta información (Campos y Variables)
La regla de oro de la recolección de datos es: No todo lo que dice el cliente necesita guardarse en un campo. El asistente ya recuerda toda la conversación por defecto.
Utiliza esta guía para decidir qué herramienta de guardado utilizar:
Tu objetivo operativo | Herramienta a utilizar |
Que el asistente recuerde lo que dijo el cliente | Nada. El modelo ya lo recuerda. |
Exigir un dato obligatorio antes de avanzar | 🔒 Campo en el nodo |
Guardar un dato pasivo si aparece en la conversación | 📝 Campo en Configuración Global |
Usar un dato que el cliente ya tenía en su perfil previo |
|
Pasarle un dato recolectado a una Herramienta (API) | 🔧 Parámetro de la herramienta ( |
🔒 Campo en el nodo (Obligatorio): El asistente no avanzará hasta obtenerlo. Úsalo solo para datos críticos sin los cuales la operación no puede continuar (ej. DNI o Correo).
📝 Campo en Configuración Global (Pasivo): Al terminar la conversación, el sistema lo guarda si el cliente lo mencionó orgánicamente, pero no frena el flujo para exigirlo.
💡 Tip: ¿Dudas sobre cuál usar? Hazte esta pregunta: Si el cliente se niega a dar este dato, ¿la conversación debería bloquearse por completo? Si la respuesta es Sí, usa un campo en el nodo. Si es No, usa la Configuración Global.
Consideraciones técnicas:
El uso de
/{campo}en el prompt solo lee información que ya existía en la base de datos de Atom antes de iniciar el chat. No sirve para guardar datos nuevos.Para enviar un dato a una herramienta (API), usa parámetros. En una HTTP Tool se inyecta como
{{variable}}, y el asistente lo autocompletará inteligentemente con lo que dijo el cliente sin hacer preguntas redundantes.
📊 Paso 5: Califica leads con Etapas, Tipificaciones y Tags
Además de conversar, un Cortex puede auditar la interacción y dejar registrado en qué estado quedó cada cliente. Esto es vital para que tu equipo de ventas sepa a quién llamar sin tener que leer el historial completo.
Qué es | Cuántos se pueden aplicar por chat | Ejemplo práctico |
📊 Etapa (Stage) | Múltiples (Todas las que alcanzó en orden) | Nuevo lead → Calificado → Cita agendada |
📌 Tipificación | Solo una (Aplica la última que se cumplió) |
|
🏷️ Tag (Etiqueta) | Múltiples (Todas las que apliquen al contexto) |
|
💡 Tip: Toda esta categorización se configura en la Configuración Global ⚙️. Cuando el chat finaliza, el motor de IA lee el historial y decide qué clasificaciones corresponden. No hace falta (ni sirve) pedírselo al asistente dentro del Prompt.
✍️ Escribe buenas condiciones de calificación
Al igual que en las transiciones, la condición de calificación debe describir algo fáctico que ocurrió:
✅ Correcto: "El cliente confirmó una cita con fecha y hora."
❌ Incorrecto: "Marcar como agendado." (Es una orden para el sistema).
❌ Incorrecto: "Cliente interesado." (Es subjetivo y ambiguo).
🧭 Ejemplo: Calificar un lead en 4 pasos
Define tus criterios comerciales: Ej. Qué producto necesita, para cuándo y su presupuesto.
Crea el nodo de Calificación: Asígnale un objetivo simple: "Averigua qué necesita el cliente, para cuándo lo necesita y cuál es su presupuesto aproximado. Pregunta una cosa a la vez. Cuando tengas los tres datos, continúa."
Conecta sus salidas:
Hacia el nodo Agendamiento: "El cliente cumple los criterios y aceptó avanzar."
Hacia la rama de salida
no_califica: "El presupuesto o el plazo del cliente están fuera de lo que ofrece la empresa."
Configura el registro en la Configuración Global: Mapea las condiciones para que el sistema asigne automáticamente las etapas, tipificaciones y campos si se detectan en el texto.
⚠️ Importante sobre las validaciones:
Las tipificaciones no deben pisarse entre sí. Si varias condiciones se cumplen simultáneamente, el sistema solo aplicará la última de la lista.
Las Etapas, Tipificaciones y Tags deben estar previamente creadas en la configuración general de tu cuenta de Atom para poder seleccionarlas en Cortex.
Asegúrate de configurar las Etapas en el embudo correcto (Venta o Servicio); de lo contrario, no se registrarán.
💡 Consejos Extra para tu Cortex
🚫 No exijas acciones fuera del Prompt: El asistente no tiene control físico sobre la plataforma. Instrucciones como "guarda el email en el campo X", "busca en el PDF de precios" o "pasa al nodo de Agendamiento" serán ignoradas. Todo esto se logra vinculando correctamente campos, documentos y condiciones de transición en la interfaz.
🕐 Configura tu zona horaria: Utiliza formatos estándar internacionales (ej.
America/BogotaoAmerica/Argentina/Buenos_Aires). Evita abreviaciones como GMT-3. Si no la configuras, el cerebro de la IA operará en horario UTC y agendamientos como "mañana a las 3 PM" tendrán errores.💬 Domina los mensajes de inactividad: Un cliente inactivo puede haber olvidado de qué hablaban. Tu mensaje de recuperación debe dar contexto y una salida elegante: "Hola de nuevo. Te escribía por la cita que estábamos agendando. ¿Te sigue interesando? Si prefieres, lo retomamos otro día." Huye de mensajes robóticos como "¿Sigues ahí?".
🧪 Prueba como un cliente real:
Prueba el flujo perfecto, pero también intenta romperlo: escribe solo "hola", niégate a dar un dato crítico, o pide un humano de inmediato.
Explora al menos una vez cada rama de salida.
Revisa la Traza de la simulación. Allí verás exactamente la lógica de la IA, por qué nodos pasó y qué herramientas consumió.
(Nota: Las pruebas en el simulador no guardan datos en perfiles reales, solo te muestran lo que se habría guardado).
📞 Pide datos en el momento justo: Exigir un número telefónico antes de responder una duda básica dispara la tasa de abandono. Pídelo solo cuando haya un valor real a cambio (ej. para coordinar una llamada o enviar una cotización formal).
✅ Checklist antes de publicar
Antes de lanzar tu Cortex a producción, asegúrate de marcar todas estas casillas:
[ ] La identidad de la empresa está definida una sola vez (en el System Prompt global).
[ ] La estructura lógica es un árbol y cada nodo tiene una salida válida.
[ ] Cada nodo cuenta con un objetivo corto, claro y accionable.
[ ] Las condiciones de transición describen acciones del cliente y no se superponen ni se pisan entre sí.
[ ] Cada nodo tiene asignadas estrictamente las herramientas y documentos que necesita (sin relleno).
[ ] Los formatos interactivos (botones y listas) respetan los límites de caracteres y filas de WhatsApp.
[ ] Existen ramas de salida claras para éxito, rechazo comercial y escalamiento a un humano.
[ ] Las ramas de salida están correctamente vinculadas a un bloque de acción en Flowbuilder.
[ ] Los campos marcados como obligatorios son verdaderamente indispensables para la operación.
[ ] Las etapas, tipificaciones y tags tienen condiciones claras.
[ ] La zona horaria está configurada en el formato estándar correcto.
[ ] Ejecutaste pruebas exhaustivas simulando casos ideales y clientes difíciles.
Diseñar un buen asistente de IA no se trata de configuraciones complejas, sino de empatía, orden lógico y claridad de objetivos. Al estructurar tus nodos estratégicamente, limitar el ruido de información y perfilar correctamente tus métricas de salida, estarás construyendo una experiencia autónoma que no solo atiende clientes, sino que cierra negocios y empodera a todo tu equipo. ¡Estás listo para publicar! ✅