Automatización
El agente que trabaja solo, sin hablar con nadie
El módulo de Agentes IA construye tres tipos de agente. Dos conversan: el Chatbot por texto y el Voicebot por teléfono. El tercero, la Automatización, no conversa con nadie. Este artículo cubre solo lo propio de ese tercer tipo. El editor, el lienzo, los pasos y la publicación funcionan igual que en los otros, y eso está explicado en Chatbot y en Chatbot: los pasos del flujo.
Qué es una automatización
Una automatización es un agente que ejecuta un proceso por su cuenta. Algo lo dispara, corre su flujo de principio a fin y termina. No hay nadie del otro lado: ni un chat abierto, ni una llamada, ni una persona esperando respuesta.
De ahí sale la diferencia que más cuesta interiorizar: una automatización no tiene paso de Mensaje. No es que esté escondido, es que no existe en su menú. Si necesitas que alguien se entere de algo, lo mandas con una acción de correo, de WhatsApp o de Telegram, que sí están disponibles.
Sirve para el trabajo que hoy alguien hace a mano y a cierta hora: sacar un reporte todas las mañanas y mandarlo por correo, cargar una campaña de mensajes con los contactos que cumplen una condición, avisar cuando una troncal se cae, o recibir un aviso de otro sistema y hacer algo con él.
Las encuentras en la misma lista que los demás agentes, con su ícono verde. Si tienes muchos, filtra por tipo.
Crear una automatización
Entra a Agentes IA en el menú principal y presiona (+). En la ventana de tipo elige Automatización.
Apenas eliges el tipo se abre sola la ventana de configuración del disparador, porque una automatización sin disparador no puede correr. Puedes cerrarla y armar primero el flujo: se vuelve a abrir cada vez que entres, hasta que elijas uno.
Después queda el lienzo, con dos diferencias visibles frente a un chatbot.
Un solo flujo. Un chatbot trae cuatro flujos de fábrica: principal, inactividad, fuera de horario y encuesta. Una automatización trae solo el Flujo principal, porque los otros tres existen para manejar a una persona que no responde o que llega fuera de horario, y aquí no hay persona. Puedes crear flujos adicionales desde el menú del lienzo y saltar a ellos con una acción de tipo Flujo, pero la automatización siempre arranca por el principal.
Los cuatro disparadores
El disparador es lo que hace que la automatización corra. Se configura en el nodo Inicio y hay cuatro tipos.
Debajo de las tarjetas, la línea Aplica restricciones por condiciones horarias te recuerda algo que vale para los cuatro tipos: si el agente tiene un horario configurado, no corre fuera de él. El intento igual queda registrado, con el estado Fuera de horario.
Manual
No tiene nada que configurar. La automatización corre cuando tú presionas Ejecutar en la barra del editor.
Evento interno
Corre cuando pasa algo dentro de Audara. Eliges un módulo y dentro de él un evento. Hoy hay dos módulos.
De Troncales salen dos eventos, Troncal desconectada y Troncal conectada, que se disparan cuando una troncal pasa de estar conectada a caída, o al revés. Cada uno expone tres variables con el nombre, el estado y la última IP conocida de la troncal.
De CRM salen otros dos, Contacto creado y Cambio de valor en campo. Los dos se atan a un CRM en particular y te dejan elegir qué campos del contacto quieres recibir como variables, para no arrastrar treinta que no vas a usar. El prefijo se antepone al nombre de cada una.
{{CONTACT_NOMBRE}}En Cambio de valor en campo eliges además cuál campo vigilar y con qué valores dispara. Solo se ofrecen campos de tipo selección, porque son los que tienen una lista de valores conocida. Si no eliges ningún valor, dispara con cualquier valor nuevo. Ese evento agrega dos variables propias, {{FIELD_VALUE}} y {{FIELD_PREVIOUS_VALUE}}.
Los eventos de CRM no se disparan en operaciones masivas. Un contacto creado uno por uno dispara Contacto creado, venga del panel, de un chatbot o de un callback. Una importación de contactos no lo dispara. Igual con Cambio de valor en campo: una edición contacto por contacto lo dispara, una edición masiva no. Es a propósito, para que cargar un archivo de diez mil contactos no lance diez mil automatizaciones.
Programado
Corre a una hora. Eliges la frecuencia y según cuál sea te pide lo que falta: cada cuántas horas y desde qué hora arranca, la hora del día, los días de la semana, o el día del mes.
La hora es la del servidor. Si eliges frecuencia mensual y día 31, los meses que no tienen 31 no corre.
Webhook
Corre cuando otro sistema le manda una solicitud. Audara te da una URL pública propia de esa automatización, y quien tenga esa dirección puede dispararla con un POST con cuerpo JSON.
- URL del webhook
- La dirección a la que el otro sistema manda la solicitud. Lleva un token propio de esta automatización: quien la tenga puede dispararla, así que trátala como una contraseña. El botón de copiar la lleva al portapapeles y el de regenerar crea un token nuevo, lo que invalida la dirección anterior.
- Campos del payload
- Cada fila toma una ruta dentro del JSON que llega y la guarda en una variable. Si el cuerpo trae
{"cliente": {"documento": "123"}}, la rutacliente.documentodeja el 123 en la variable que le pongas. - Capturar una solicitud de prueba
- Disponible cuando la automatización ya está guardada. Presionas Capturar solicitud, mandas un envío real desde el otro sistema y Audara te muestra el JSON que llegó para que armes el mapeo tocando las llaves, en vez de escribir las rutas a ciegas. Esa solicitud de prueba no ejecuta el flujo. También puedes pegar un ejemplo a mano.
Aunque no mapees ningún campo, el flujo siempre tiene {{WEBHOOK_BODY}} con el cuerpo completo y {{WEBHOOK_QUERY}} con los parámetros de la URL. El mapeo es una comodidad para no tener que sacar el dato del JSON entero.
Las variables que trae el disparador
Sea cual sea el disparador, lo que traiga queda disponible como variable en todo el flujo. Las ves en el menú del lienzo, en Lista variables, junto con las de fecha y hora que trae cualquier agente.
Una variable de lista no es una variable normal. Guarda muchos registros, no un valor, así que no se puede insertar en un texto ni comparar en una condición. Solo la leen los pasos que saben trabajar con listas, que hoy es la acción de Campaña Blaster. Se distinguen por la etiqueta lista.
Qué pasos tiene y cuáles no
El menú del lienzo de una automatización es más corto que el de un chatbot, y la razón siempre es la misma: no hay con quién conversar.
Lo que no está, comparado con un chatbot:
- Mensaje, en cualquiera de sus formas.
- Interacción entera: menú, botones, opciones desplegables, respuesta libre e invalidez.
- Captura entera: captura de dato, de archivo y Flow de WhatsApp.
- Encuesta.
- Las palabras clave globales del menú del lienzo, porque no hay nadie escribiendo palabras.
Lo que sí está y funciona igual que en un chatbot: Acción, Integración (API REST y MCP), Post, ChatGPT, Smart Agent con sus funciones, Condición, Variable e Iteración. Todos están explicados en Chatbot: los pasos del flujo.
Y lo que gana: el Get masivo, el paso Exportar reporte y, dentro de Acción, Campaña Blaster. Las tres secciones que siguen son sobre esos tres.
La acción Finalizar existe pero casi nunca hace falta: cuando el flujo se queda sin pasos, la automatización termina sola. Úsala solo para cortar antes de tiempo, por ejemplo dentro de una rama de una condición.
Get masivo: traer muchos contactos de una vez
El Get de siempre trae un registro de un CRM. El Get masivo trae todos los que cumplan un filtro y los deja en una variable de lista.
- 1 CRM
- De cuál CRM se traen los contactos.
- 2 Filtro de contactos
- Cuáles contactos. Configurar filtro abre la misma ventana de filtros del módulo de CRM, donde puedes usar uno guardado, armar uno rápido o crear uno nuevo. Si no pones filtro, trae todos.
- 3 Variable de lista (resultado)
- El nombre de la variable donde queda el resultado. Es la que después vas a elegir en la acción de campaña.
- 4 Campos a incluir
- Qué campos del contacto lleva cada registro de la lista. Elige solo los que el flujo va a usar. Los campos de tipo archivo no se ofrecen, porque un adjunto no se puede mandar dentro de una lista.
- 5 Límite (opcional)
- Tope de registros. En cero no hay tope.
Una lista vacía no es un error. Si el filtro no encuentra a nadie, el paso sigue de largo con la lista vacía y los pasos siguientes corren igual. El paso de error solo se toma cuando la consulta falla de verdad. Si quieres cortar cuando no hay contactos, ponle una condición después.
El campo Mensaje de error que aparece al final del formulario no le llega a nadie en una automatización, porque no hay conversación donde mostrarlo. Para manejar el error usa En caso de error, ir a paso.
Campaña Blaster: enviarle a toda la lista
Es una acción, no un paso propio: agregas un paso Acción y en el campo Acción eliges Campaña Blaster. Toma una variable de lista y le carga esos contactos a una campaña dinámica, que es la que hace el envío.
- 1 Canal
- Correo electrónico, WhatsApp, SMS o Voz.
- 2 Campaña dinámica
- La campaña que va a recibir los contactos. Solo aparecen las campañas dinámicas de ese canal, que son las que están hechas para ir recibiendo contactos mientras corren. Si la lista sale vacía, crea antes la campaña en su módulo.
- 3 Variable de lista (contactos)
- De dónde salen los contactos. Normalmente la que llenó un Get masivo antes.
- 4 Campo de correo o de teléfono
- Cuál campo de cada registro es la dirección de destino. Por eso ese campo tiene que estar entre los que elegiste en el Get masivo.
Si el canal manda un mensaje, debajo aparece la plantilla de la campaña en solo lectura y una fila por cada variable que tenga, para decirle a cada una de dónde sale su valor.
El canal de Voz funciona distinto: no manda un mensaje sino que marca, así que no tiene plantilla ni variables. En su lugar pide el campo del teléfono y, opcional, un campo con el nombre del contacto, que es el que después se ve en el monitor del marcador y en los reportes.
En WhatsApp, las plantillas que llevan imagen, video o documento en el encabezado no sirven para un envío masivo desde una automatización, porque ese archivo tendría que ser distinto para cada destinatario y no hay de dónde sacarlo. Elige una plantilla de solo texto.
Un Get masivo y una acción de campaña, en ese orden, son la automatización más común de todas.
Exportar reporte
Este paso arma un archivo comprimido con un reporte y deja el enlace de descarga en una variable. No lo manda: eso lo haces con una acción de correo después, poniendo la variable en el cuerpo del mensaje.
- 1 Reporte
- Cuál reporte se exporta. Hoy está el Historial de chats.
- 2 Periodo
- Qué rango cubre: el día anterior, los últimos siete días o lo que va de hoy. Se calcula en el momento de correr, así que una automatización diaria con Día anterior siempre trae el día que acaba de terminar.
- 3 Contenido del archivo
- Qué va dentro del comprimido: los registros del reporte en CSV, las conversaciones completas y los archivos adjuntos que se intercambiaron. Tienes que dejar al menos uno marcado.
- 4 Variable con el enlace
- Dónde queda la dirección de descarga del archivo, para usarla más adelante con
{{NOMBRE}}.
Ejecutar, publicar y desactivar
La barra del editor de una automatización tiene un botón que los otros agentes no tienen.
Un chatbot se prueba conversando con él en una ventana. Una automatización no se puede probar así, porque no hay conversación, entonces lo que se hace es correrla de verdad y mirar después qué pasó. Eso es Ejecutar.
Ejecutar corre la versión publicada, no la que estás viendo. Si acabas de cambiar el flujo, publica primero. Sin publicar, el botón te avisa que la automatización todavía no está publicada y no corre nada. Y como corre de verdad, si tu flujo carga una campaña, esa campaña va a empezar a enviar.
Para apagar una automatización sin borrarla, usa Desactivar en el menú de su fila. Una automatización desactivada no corre por ningún camino: ni programada, ni por evento, ni por webhook, ni a mano.
El registro de ejecuciones
Como nadie ve correr una automatización, cada intento queda anotado. Entra por el menú de su fila en la lista.
La columna Disparador dice de dónde vino cada corrida y agrega el detalle: quién la corrió si fue manual, cuál evento y sobre cuál elemento si fue interno, o desde qué dirección IP llegó si fue un webhook. El Estado puede ser:
- Completada
- El flujo llegó hasta el final.
- Iniciada
- Arrancó y todavía no termina. Si una queda así mucho tiempo, se quedó atascada; hay un tope de seguridad de diez minutos que la cierra.
- Fuera de horario
- Se intentó disparar mientras el agente estaba fuera de su horario, así que no corrió.
- Fallida
- No se pudo crear la corrida.
La flecha de cada fila abre las variables de la ejecución: con qué valores arrancó esa corrida en particular. Es lo más útil de toda la ventana cuando algo salió distinto a lo esperado, porque es la única forma de ver por dentro una automatización que ya terminó.
Buenas prácticas
- Empieza en manual
- Arma el flujo con disparador manual, ejecútalo y revisa el registro de ejecuciones. Cuando haga lo que esperas, cámbiale el disparador al que va a usar de verdad. Es mucho más fácil que esperar a que un evento ocurra.
- Prueba con el límite bajo
- Antes de soltar un envío masivo, ponle un Límite de dos o tres en el Get masivo y mira a quién le llegó. Después súbelo. Una lista sin filtro más una campaña es un correo a toda la base.
- Pide solo los campos que uses
- Tanto en los campos del disparador de CRM como en los del Get masivo. Una lista con veinte campos por contacto y miles de contactos pesa, y no ganas nada.
- Ponle nombre a lo que hace, no a lo que es
- Como no hay una conversación que leer, el nombre del agente y el título de cada paso son casi toda la documentación que va a quedar. Aviso de troncal caída se entiende dentro de seis meses; Automatización 3 no.
- Trata la URL del webhook como una contraseña
- Quien la tenga puede disparar la automatización. Si se filtró, regenera el token y avísale al otro sistema, que la dirección anterior deja de funcionar.
- Revisa el registro de vez en cuando
- Una automatización programada que dejó de correr no avisa. Si esperabas una ejecución diaria y la última es de hace una semana, algo pasó: puede estar desactivada, sin publicar o quedando fuera de horario.