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.

Lista de Agentes IA filtrada por tipo Automatización
El filtro de tipo 1 deja ver solo las automatizaciones. El menú de cada fila 2 tiene una opción que los otros agentes no tienen: Ver ejecuciones

Crear una automatización

Entra a Agentes IA en el menú principal y presiona (+). En la ventana de tipo elige Automatización.

Ventana de tipo de agente con las tres opciones y Automatización señalada
El tipo se elige al crear el agente y no se cambia después

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.

Lienzo de una automatización nueva con un solo nodo Inicio
El ícono verde de automatización 1, un único flujo 2, el botón Ejecutar en lugar de Probar 3 y el nodo Inicio 4, que al tocarlo reabre la configuración del disparador
Nota

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.

Ventana de configuración de trigger con las cuatro tarjetas
1 Manual, la corres tú. 2 Evento interno, la dispara algo que pasa dentro de Audara. 3 Programado, corre a una hora. 4 Webhook, la dispara otro sistema con una solicitud HTTP

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.

Configuración de trigger manual
El disparador manual 1 no pide condiciones. La nota del horario 2 aplica igual

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.

Disparador de evento interno con módulo Troncales y evento Troncal desconectada
Módulo 1 y evento 2. Abajo, las variables que ese evento le entrega al flujo 3

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.

Disparador de evento interno con módulo CRM y evento Contacto creado
El prefijo 1 y los campos elegidos 2 arman los nombres de las variables 3. Con el prefijo CONTACT, el campo Nombre se vuelve {{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}}.

Importante

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.

Disparador programado con frecuencia semanal, días y hora
Frecuencia 1, días de la semana 2 y hora 3. La configuración tiene que quedar completa o el agente no se deja publicar

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.

Disparador de webhook con el mapeo de campos del payload
La URL 1 aparece cuando guardas la automatización por primera vez. Los campos del payload 2 convierten pedazos del JSON en variables 3
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 ruta cliente.documento deja 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.
Nota

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.

Ventana de lista de variables disponibles
Las variables del disparador aparecen arriba, entre las generales 1. Abajo, las variables de lista 2, con los campos que lleva cada registro
Importante

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.

Menú de pasos de una automatización
Diez opciones. El submenú Get 1 y Exportar reporte 2 solo existen aquí

Lo que no está, comparado con un chatbot:

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.

Menú de opciones del flujo de una automatización
El menú del lienzo también es más corto. Lista variables 1 es donde revisas qué le entregó el disparador al flujo
Nota

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.

Submenú Get con las opciones Get único y Get masivo
En una automatización, Get abre un submenú con las dos formas
Formulario del paso Get masivo
El formulario del Get masivo
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.
Ventana de filtros de contactos del CRM
Crear filtro 1 arma uno desde cero, Filtro rápido 2 uno de una sola condición, y debajo 3 están los filtros que ya guardaste en el CRM
Importante

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.

Acción de Campaña Blaster configurada para correo
La acción de campaña, con canal de correo
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.

Vista previa de la plantilla y el mapeo de variables
Cada variable de la plantilla 1 se llena con un campo de la lista, distinto para cada destinatario, o con un texto fijo igual para todos. El paso de error 2 recibe el flujo si la carga falla

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.

Acción de Campaña Blaster con canal Voz
Con canal Voz 1 quedan solo el campo de teléfono 2 y el de nombre 3
Nota

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.

Flujo de ejemplo con Inicio, Get masivo y acción de Campaña Blaster
Arranca 1, busca los contactos que cumplen el filtro 2 y se los entrega a la campaña 3

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.

Formulario del paso Exportar reporte
El formulario del paso
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}}.
Flujo de una automatización que exporta un reporte y lo manda por correo
El patrón completo: arranca 1, arma el archivo y guarda el enlace 2, y una acción de correo lo manda 3

Ejecutar, publicar y desactivar

La barra del editor de una automatización tiene un botón que los otros agentes no tienen.

Barra del editor de una automatización
Ejecutar 1 reemplaza al botón de Probar. Publicar 2 y el par Borrador / Publicado 3 funcionan igual que en cualquier agente

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.

Importante

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.

Menú de una fila de automatización con la opción Ver ejecuciones
Ver ejecuciones 1 es donde se revisa qué ha hecho la automatización
Ventana de ejecuciones de una automatización
Una fila por intento: cuándo 1, qué la disparó 2 y cómo terminó 3

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ó.

Fila de ejecución expandida mostrando las variables
Las variables de esa corrida 1. Aquí se ve cuál troncal se cayó, con qué estado y con qué IP

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.