Workflows
Acceso desde: Procesos → Workflows
Un workflow es una automatización que ejecuta una secuencia de pasos sobre tus datos de Amazon, ya sea bajo demanda o de forma programada. Te permite auditar productos, detectar problemas y crear tareas de revisión sin tener que hacerlo manualmente.
¿Cómo se crean?
Hoy hay dos formas de crear un workflow en Epinium:
- A partir de una plantilla — clonando una de la Biblioteca de plantillas. Es la vía recomendada y la más rápida.
- Con VelaxAI — describe en lenguaje natural lo que quieres automatizar y VelaxAI genera el workflow.
No existe todavía una opción de crear un workflow desde cero en un lienzo en blanco. Una vez creado a partir de una plantilla o de VelaxAI, sí puedes editarlo (cambiar disparador, condiciones, código, conexiones, etc.).
¿Workflow, Tarea o VelaxAI?
Estados del workflow
Un workflow puede estar en uno de tres estados:
| Estado | Significado |
|---|---|
| Pausado | Configurado pero no se ejecutará automáticamente. Es el estado por defecto al clonar una plantilla. Sigue pudiendo ejecutarse manualmente. |
| Activo | Se ejecutará automáticamente según su disparador. |
| Con errores de validación | El editor detectó un problema en el grafo (nodo sin conectar, condición vacía, referencia rota). No se puede activar hasta corregirlo. |
El editor visual
El editor muestra el workflow como un grafo: cada caja es un nodo (un paso) y cada línea es una conexión (qué viene después).
- Lienzo — puedes mover los nodos para reorganizar visualmente. No afecta a la lógica.
- Conexiones — algunas son simples (un único camino de salida). Otras bifurcan: una Condición tiene salidas
SíyNo; un Bucle tienepor item(para cada elemento) yal terminar(cuando termina la iteración). - Configurar un nodo — clic en un nodo abre un modal donde puedes editar sus parámetros: mensaje, URL, condición, asignación de variables, etc.
- Editar el código de un nodo — el nodo Ejecutar código abre un editor donde puedes leer y modificar el script (generado por VelaxAI o copiado desde la plantilla).
- Validación automática — el editor marca los errores en rojo (nodos huérfanos, conexiones rotas, condiciones sin operador). Si hay errores, el workflow no se puede activar.
El modal de configuración de un nodo
El icono de engranaje (⚙️) de cada nodo abre su configuración. Según el tipo de nodo aparecen unas pestañas u otras:
| Pestaña | Qué contiene |
|---|---|
| General | El nombre del nodo — el texto que se ve en el diagrama. Está en todos los nodos |
| Configuración | Los parámetros propios del tipo de nodo: la condición, los datos de la tarea, la URL de la petición HTTP… |
| Filtros | Solo en los bucles Por cada con origen Consulta: qué elementos se van a iterar. Ver § Filtros del bucle |
| Código reduce | Solo en los bucles Por cada que recopilan resultados: el código que los agrega. Ver § Código reduce |
Renombrar un nodo — cámbialo en la pestaña General. Ponle un nombre que describa qué hace («Comprobar título», «Avisar en Slack») en vez del genérico: los nombres aparecen en el diagrama, en el historial de ejecuciones y en las referencias a variables de otros nodos, así que un nombre claro se paga solo al depurar. Si dejas el campo vacío se conserva el nombre por defecto.
Historial de versiones
Cada vez que guardas un workflow, Epinium archiva la versión anterior antes de sobrescribirla. El botón Historial de versiones abre la lista, con una fila por versión: nombre, estado, número de nodos, errores de validación y fecha.
Desde ahí puedes Restaurar cualquier versión anterior. Antes de restaurar se archiva también la versión actual, así que dar marcha atrás no pierde nada: si la versión recuperada no era la que querías, restaura la anterior.
Al restaurar, el grafo se vuelve a validar. Si la versión que recuperas tenía errores, el workflow queda con errores de validación y no se podrá activar hasta corregirlos.
Tipos de nodos
Estos son los nodos disponibles:
| Nodo | Qué hace |
|---|---|
| Inicio | Marca por dónde empieza el flujo. Todo workflow tiene exactamente un nodo de inicio. |
| Fin | Marca un punto de finalización. Puede haber varios fines en un workflow (por ejemplo, uno por rama de condición). |
| Acción | Ejecuta una tarea concreta. Tiene varios sub-tipos (ver tabla siguiente). |
| Condición | Bifurcación Sí / No basada en un campo y un operador (igual, mayor que, contiene, está vacío…). |
| Multi-rama | Como una condición pero con varias salidas según el valor de un campo. Útil cuando hay más de dos casos posibles. |
| Bucle (Por cada) | Itera sobre un conjunto de elementos (productos, campañas, search terms…). Ver § Bucles. |
| Espera | Pausa el flujo durante un tiempo (segundos, minutos, horas) antes de continuar. |
Los sub-tipos del nodo Acción:
| Sub-tipo | Qué hace |
|---|---|
| Mensaje al log | Escribe un mensaje en el registro de la ejecución. Útil para depurar o dejar trazas. |
| Petición HTTP | Llama a una URL externa (un webhook, una integración con otro sistema). Permite enviar datos a herramientas de terceros. |
| Ejecutar código | Ejecuta lógica personalizada en un entorno seguro. Es el motor de los checks de las plantillas de auditoría: evalúa reglas complejas sobre un producto y devuelve un resultado estructurado. Puedes leer y editar el script desde el editor. |
| Crear tarea | Genera o actualiza una tarea con uno o varios items para revisión humana. Ver § Tareas y supervisión humana. |
| Resolver tarea | Marca como resueltos los items de una tarea cuyos problemas ya no existen (porque se han corregido). |
Disparadores
Un workflow se puede lanzar de dos formas:
- Manual — botón Ejecutar desde la página del workflow. Abre un modal que muestra el coste estimado máximo antes de confirmar.
- Programado — el workflow se lanza solo siguiendo una programación:
- Cron — expresión cron estándar de 5 campos. Ejemplos: cada lunes a las 9:00, día 1 de cada mes a las 5:00.
- Intervalo — cada N minutos, horas o días.
- Fecha única — una sola ejecución en una fecha/hora concretas.
- Zona horaria — configurable por workflow (por ejemplo
Europe/Madrid). El disparador se interpreta según esta zona, no según UTC.
Coste estimado
Antes de ejecutar manualmente un workflow, Epinium calcula y muestra el coste máximo en créditos. Este número refleja el peor caso (todos los productos auditados, todos los nodos ejecutados sin saltos).
Revisar el coste antes de activar
Si vas a activar un workflow programado que itera sobre todo el catálogo, lanza primero una ejecución manual para ver el coste real. Sobre catálogos grandes, una ejecución diaria sin querer puede consumir más créditos de los previstos.
Bucles (Por cada)
Un nodo Por cada repite los pasos que tiene dentro una vez por cada elemento de una lista.
Origen de los datos — dos modos:
- Consulta — eliges una colección de tu cuenta (productos, campañas, search terms, ad groups, product ads, keywords, clusters) y aplicas filtros para acotarla. Es el modo más usado.
- Referencia — itera sobre una lista que produjo un nodo anterior (por ejemplo, el resultado de una Petición HTTP).
Manejo de errores por item — si la evaluación de un item falla, el bucle puede:
- Continuar (por defecto) — sigue procesando el resto de items.
- Abortar — detiene todo el bucle.
Recopilar resultados — opcionalmente, el bucle puede juntar lo que produzca cada iteración en un resumen final. Las plantillas de auditoría usan esto para contar cuántos productos cumplen y cuántos no, y mostrar el resumen en el log.
El bucle tiene dos salidas: por item (lo que se ejecuta por cada elemento) y al terminar (lo que se ejecuta una vez procesados todos).
Filtros del bucle
Con el origen en modo Consulta, la pestaña Filtros del nodo acota qué elementos se van a iterar. Sin filtros, el bucle recorre todos los elementos de la colección.
Los filtros se organizan en grupos de reglas, y la forma de combinarlos es la clave:
- Las reglas dentro de un mismo grupo se combinan con O — basta que se cumpla una.
- Los grupos entre sí se combinan con Y — todos los grupos tienen que cumplirse.
Así se expresan condiciones del tipo «(marca A o marca B) y (sin imagen principal)»: una marca por regla en el primer grupo, y la condición de la imagen en un segundo grupo.
Cada regla tiene tres partes y un interruptor:
| Parte | Para qué sirve |
|---|---|
| Campo | La ruta del dato en el elemento, por ejemplo commonFields.ASIN |
| Valor | Con qué se compara |
| Formato | Cómo interpretar el valor: Texto, ObjectId, Booleano, Fecha o Existe (número) — este último coge los elementos que tienen un número en ese campo |
| Activo | Desactiva la regla sin borrarla, útil para probar |
El formato importa
Un mismo valor filtra distinto según el formato. true como Texto busca la cadena «true»; como Booleano busca el valor verdadero; como Existe (número) comprueba que el campo tenga un número (por ejemplo, una puja máxima configurada). Si un filtro no devuelve lo que esperas, el formato es lo primero que hay que revisar.
En modo Referencia la pestaña Filtros no aplica: el bucle itera sobre lo que produjo un nodo anterior, así que el filtrado hay que hacerlo en ese nodo.
Código reduce
Cuando el bucle tiene activado Recopilar resultados, la pestaña Código reduce permite agregar lo que devuelve cada iteración en un único resultado final.
Funciona por lotes (streaming): el código se ejecuta una vez por lote, no una vez por elemento. Recibe input.items (el lote actual) e input.accumulator (el resultado del lote anterior, null en el primero) y debe devolver el acumulador para el siguiente lote.
Es la forma de sacar totales de una auditoría —cuántos productos cumplen y cuántos no— sin mantener en memoria el catálogo entero. El resultado final queda visible en el nodo, en el inspector de la ejecución.
Variables y contexto
Los workflows usan variables para pasar datos entre nodos. La sintaxis es {{ ... }} y hay tres orígenes:
| Variable | Cuándo aparece | Ejemplo |
|---|---|---|
{{trigger.X}} | Datos enviados al workflow al ejecutarlo manualmente. | {{trigger.email}} |
{{nodes.NOMBRE.result.X}} | Salida de un nodo anterior. | {{nodes.checkTitle.result.titleTooLong}} |
{{forEach.NOMBRE}} | El elemento actual cuando estás dentro de un bucle. Por defecto se llama item, pero las plantillas suelen usar nombres más legibles como product. | {{forEach.product}} |
Ejemplo de uso en una Condición: evaluar si el resultado de un nodo de código indica que el título es demasiado corto:
- Campo:
{{nodes.checkTitle.result.titleTooLong}} - Operador:
es verdadero
Selección de campañas (Smart Campaigns)
El workflow Smart Campaigns Optimizer ofrece, en su pestaña Variables, un control para decidir sobre qué campañas actúa.
Coger todas las campañas con ACOS objetivo configurado (interruptor):
- Activado — el workflow gestiona automáticamente toda campaña que tenga su ACOS/ROAS objetivo y su puja máxima configurados.
- Desactivado — selección manual: el workflow solo actúa sobre las campañas que elijas. Al añadir un workflow nuevo, el interruptor nace desactivado. Se guarda al instante (no hace falta pulsar «Guardar cambios»).
Con el interruptor desactivado se habilita el botón Campañas del algoritmo, que abre una tabla donde, por cada campaña (Sponsored Products):
| Columna | Qué hace |
|---|---|
| Optimizar | Marca si el workflow debe optimizar esa campaña. Solo se puede activar si la campaña tiene un objetivo definido. |
| Objetivo | Tipo de objetivo — ACOS o ROAS. |
| Valor | El valor objetivo (p. ej. 25 % de ACOS). |
La tabla está paginada, tiene buscador y muestra primero las campañas ya gestionadas. Los cambios se guardan con el botón Guardar del propio modal.
Relación con la Configuración IA por campaña
Marcar una campaña aquí equivale a forzar ese workflow desde la Configuración IA de la campaña: es la misma información vista desde el lado del workflow, y el objetivo que edites es el mismo de la campaña.
Si con el interruptor desactivado no marcas ninguna campaña, el workflow no procesará ninguna — no falla, simplemente no actúa hasta que elijas.
Tareas y supervisión humana
Los workflows pueden generar tareas para que un humano revise sus hallazgos antes de aplicar cambios. Este es el punto fuerte del sistema: la automatización detecta problemas, pero no aplica nada hasta que tú apruebas.
Nodo Crear tarea
Cuando un workflow detecta un problema, este nodo crea una tarea (o añade items a una tarea existente). Los items pueden incluir un valor sugerido (auto-fix) que el usuario puede aceptar con un clic.
- Idempotencia — el workflow usa una clave única por problema. Re-ejecutar el workflow no duplica tareas: añade items nuevos si aparecen problemas nuevos, y deja en paz los que ya estaban.
- HITL (Human-in-the-Loop) — si está activado, los items no se aplican automáticamente. Un humano los revisa y aprueba antes de que lleguen al producto o campaña.
Nodo Resolver tarea
Marca como resueltos los items de una tarea cuyos problemas ya no existen. Útil cuando re-ejecutas un workflow y un producto que antes fallaba ahora cumple — el nodo cierra automáticamente los items asociados.
Más detalle del sistema de tareas en Tareas.
Historial de ejecuciones
Cada vez que un workflow se ejecuta, queda un registro consultable desde su página. Los estados posibles son:
| Estado | Significado |
|---|---|
| Pendiente | Encolada, aún no empezó. |
| Ejecutando | En curso. |
| Completada | Terminó sin errores. |
| Parcial | Terminó, pero algunos elementos fallaron y quedaron sin procesar. Aparece en los workflows que iteran: por ejemplo, una campaña que falla mientras el resto se optimizan con normalidad. |
| Fallida | Un nodo falló y abortó el flujo. |
| Cancelada | Detenida manualmente. |
Inspector de ejecución
Haz clic en un nodo dentro de una ejecución para abrir el inspector y ver:
- Entrada — las variables resueltas que recibió ese nodo.
- Salida — el resultado que produjo.
- Error — si aplica, con mensaje legible.
Depurar una ejecución fallida
Empieza por el primer nodo marcado en rojo. Lee su salida o su error. Comprueba las variables de entrada — la mayoría de fallos vienen de una referencia rota a un nodo anterior o de datos vacíos donde se esperaba un valor.
Crear workflows con VelaxAI
VelaxAI incluye un agente especializado en generar workflows desde lenguaje natural. El cliente describe lo que quiere automatizar y VelaxAI propone un workflow completo: nodos, conexiones, condiciones y, cuando hace falta, el código de los nodos Ejecutar código.
Lo que puedes hacer:
- Describir tu necesidad en una conversación.
- Pedir cambios sobre la propuesta inicial.
- Revisar y editar manualmente el código generado en los nodos Ejecutar código.
- Ajustar el disparador (programación, intervalo).
- Activar el workflow cuando estés conforme.
Generación en evolución
La generación con VelaxAI sigue mejorando. Workflows muy complejos pueden requerir ajustes manuales tras la generación inicial — VelaxAI te indicará qué falta o qué validar.
Más sobre VelaxAI en VelaxAI.
Buenas prácticas y límites
- Activa HITL cuando el workflow modifique datos sensibles (precios, títulos, descripciones, presupuestos de campaña). Te da un punto de control antes de que el cambio llegue a Amazon.
- Revisa el coste estimado antes de activar un workflow programado, sobre todo si itera sobre todo el catálogo. Una ejecución manual previa te enseña el coste real.
- Empieza pausado. Lanza el workflow una vez de forma manual para validar el resultado, y solo entonces activa el cron.
- Las ejecuciones fallidas no se reintentan solas. Si una ejecución falla, abre el historial, identifica el nodo en error, corrige la causa y vuelve a lanzarla manualmente.
- Para auditorías masivas, prefiere las plantillas — están optimizadas para procesar catálogos grandes con batches y manejo de errores por item.