Workflows
Motor de automatización event-driven. Cada workflow tiene un trigger (un evento de la app o un schedule) y una secuencia de pasos que comparten contexto, pueden referenciarse entre sí con bindings y reaccionan a fallos con retry, timeout o try/catch.
Tres formas de crear un workflow
El módulo abre en un welcome con tres tarjetas. Eliges la vía y aterrizas en el flujo correspondiente.
Templates
8 plantillas predefinidas (CI/CD, auto-deploy, backup tras deploy, auto-format, branch protect, AI on error…). Tap "Activar" crea una copia editable con UUID nuevo.
Generar con IA
Escribes un prompt en lenguaje natural ("when push to main, deploy and notify") y el asistente genera un workflow editable. Usa tu cuenta de IA (BYOK); si la llamada falla, hay un fallback heurístico local.
Editor visual
FAB "+" en "Mis workflows" — formulario completo: nombre, trigger, lista de pasos con drag para reordenar, bottom-sheet de config por paso, sección de reliability colapsable.
Triggers (10)
Cada trigger acepta un filtro opcional (rama, extensión de archivo, proveedor…) que filtra los eventos antes de disparar el workflow.
| Trigger | Se dispara cuando… |
|---|---|
| Git push | Empujas commits a una rama (filtro: rama) |
| Git commit | Creas un commit (filtro: rama) |
| File saved | Guardas un archivo en el editor (filtro: extensión) |
| App foregrounded | Vuelves a abrir la app |
| Terminal command finished | Termina un comando del terminal (filtro: patrón) |
| Database query executed | Se ejecuta una query (filtro: nombre de tabla) |
| Deployment completed | Termina un deploy (filtro: proveedor) |
| Deployment failed | Falla un deploy (filtro: proveedor) |
| Error detected | Otro workflow falla — útil para encadenar respuestas a errores |
| Manual / Scheduled | Manual (botón) o un schedule (intervalo o cron) |
Pasos de acción (8)
Cada paso de acción tiene su propio formulario en la app y produce un resultado que los pasos siguientes pueden referenciar.
Run command
Ejecuta cualquier comando en la terminal
Notification
Muestra una notificación con título y mensaje
AI analyze
Pasa código o texto al asistente IA y captura la respuesta
AI generate
Genera código nuevo desde un prompt
Git operation
Commit, push o pull (con rama y mensaje opcionales)
Deploy
Dispara un deploy en el proveedor de hosting activo
Database backup
Lanza un backup de la base de datos activa
Open file
Abre un archivo en el editor con línea opcional
Control de flujo
Más allá de la secuencia plana, los workflows soportan estructuras de control para ramificar, iterar, paralelizar y manejar errores.
Conditional (if / else)
Ramifica según una condición. Operadores: igual, distinto, mayor, menor, contiene, está vacío. Acepta literales y bindings.
Loop
Itera sobre una colección de bindings con un alias por iteración. Tope de 100 iteraciones por defecto.
Parallel
Ejecuta varias ramas a la vez con política de join (esperar todas, esperar la primera, etc.).
Wait
Pausa la ejecución durante un tiempo configurable. Presets: 1s, 5s, 30s, 1m, 5m.
Try / Catch
Si algún paso del bloque try falla, salta al catch con el mensaje de error en una variable accesible.
When (condicional ligera)
Cada paso de acción puede tener un "when" — si la expresión es falsa, el paso se salta sin envolverlo en un Conditional completo.
El motor ejecuta los seis tipos de paso. En el editor visual están disponibles hoy: paso de acción, Wait y Conditional (un nivel de anidamiento). Loop, Parallel y Try/Catch funcionan en el motor pero todavía no en el editor.
Bindings entre pasos
Cualquier campo del formulario acepta literales o bindings con la sintaxis `{{...}}` para referenciar otras variables del workflow. Si una expresión no resuelve, devuelve cadena vacía — los workflows son tolerantes a pasos que se saltaron por una rama condicional.
| Expresión | Resuelve a |
|---|---|
| {{var.<name>}} | Variable global del workflow |
| {{step.<id>.status}} | Estado del paso (SUCCESS, FAILURE, SKIPPED, TIMED_OUT) |
| {{step.<id>.output}} | Mapa completo del resultado |
| {{step.<id>.output.<field>}} | Campo concreto del resultado |
| {{step.<id>.error}} | Mensaje de error si falló |
| {{item.<alias>}} | Valor actual dentro de un Loop |
| {{trigger.eventName}} | Nombre del evento que disparó el workflow |
Cada bottom-sheet de configuración incluye un hint visible con la sintaxis para que el sistema de bindings se descubra desde la UI.
Reliability — retry, timeout y backoff
Cada paso de acción tiene una sección colapsable de Reliability con cinco campos. Si un paso falla, se reintenta con la estrategia de espera elegida hasta agotar los intentos.
Max attempts
Número de intentos antes de marcar el paso como fallido (1 = sin retry)
Backoff strategy
FIXED (espera constante), LINEAR (crece linealmente) o EXPONENTIAL (duplica en cada intento)
Initial delay
Espera tras el primer fallo, en milisegundos
Max delay
Tope superior — la espera nunca crece más allá de este valor
Timeout
Cancela el paso si tarda más de X milisegundos. Se marca como TIMED_OUT
Si un paso con timeout vive dentro de un bloque try / catch, el catch se ejecuta automáticamente con el mensaje de error disponible como variable.
Scheduling — intervalo o cron
Cualquier workflow con trigger manual puede tener una o varias schedules adjuntas. Sobreviven al cierre de la app y se reencolan automáticamente al arrancar.
Presets de intervalo
- • Cada 15 minutos
- • Cada hora
- • Cada 6 horas
Por restricción del sistema operativo, el intervalo mínimo real es de 15 minutos — valores menores se ajustan a ese mínimo.
Presets cron + expresión libre
- •
0 9 * * *— todos los días a las 9:00 - •
0 9 * * 1— lunes a las 9:00 - • Expresión custom 5-field
Acepta wildcards (*), listas (1,3,5), rangos (1-5) y steps (*/2). Mientras escribes, la app muestra en vivo la próxima fecha de disparo o avisa si la expresión es inválida.
Historial de ejecuciones
Cada ejecución se persiste con el snapshot completo de los resultados de cada paso. Sobrevive a crashes y a cierres de la app.
- •Timeline newest-first por workflow con icono y color por estado
- •Detalle de cada run: paso a paso con duración, output renderizado en monospace y mensaje de error si lo hubo
- •Estados de paso: SUCCESS (verde), FAILURE (rojo), SKIPPED (gris), TIMED_OUT (naranja), RUNNING (azul)
- •Retención automática: hasta 100 runs por workflow + 30 días máximo
El botón "▶ Probar ahora" en el editor ejecuta el workflow sin persistir el run ni emitir eventos — útil para iterar diseñando sin ensuciar el historial. Los efectos secundarios (comandos, notificaciones, prompts a IA) sí se ejecutan: es un test real, no un preview seco.
Generador con IA
Pegas un prompt como "when push to main, deploy and notify" y la app genera un workflow con trigger detectado + acciones + filtros, listo para guardar y activar. Modelo BYOK: usa tu proveedor de IA activo (Gemini, OpenAI, Claude…).
Si la llamada al proveedor falla (sin token, sin red, JSON inválido), la app cae automáticamente a un parser heurístico local que reconoce keywords ("push", "deploy", "test", "notify", "backup", "ai", "format"…) y produce un workflow básico. El fallback es silencioso — siempre obtienes un preview.
Workflows como herramientas del agente IA
Cualquier workflow que marques como "Available to AI agent" en el editor se expone automáticamente como herramienta en el chat de IA. El agente decide cuándo llamarlo y le pasa parámetros, que entran al workflow como variables (`{{var.<key>}}`).
Sólo se exponen workflows activos y con la opción marcada. La descripción que ve el modelo es la que escribes en el campo "AI tool description" (o la descripción general si lo dejas vacío). Las invocaciones del agente se persisten en el historial como cualquier run manual.
Plantillas built-in (8)
Tap "Activar" en cualquiera crea una copia editable con UUID nuevo. Si ya tienes una copia activa de esa plantilla, el botón se deshabilita para evitar duplicados.
| Plantilla | Trigger | Acciones |
|---|---|---|
| CI/CD pipeline | Git push | npm test → deploy → notificación |
| Auto-deploy on push | Git push (rama main) | deploy → notificación |
| DB backup on deploy | Deployment completed | backup → notificación |
| AI on error | Error detected | notificación → análisis IA |
| Auto-format | File saved | prettier --write . |
| Auto-commit | File saved | git add -A && git commit |
| Branch protect | Git push (rama main) | npm test → notificación de gate |
| Test on commit | Git commit | npm test → notificación |
También puedes instalar workflows del Marketplace — entran como copias normales en "Mis workflows".
Free vs Pro
| Función | Free | Pro |
|---|---|---|
| Editor visual, control de flujo, bindings, retry, timeout | ✅ | ✅ |
| Ejecución manual + botón "Probar ahora" | ✅ | ✅ |
| 8 plantillas built-in | ✅ | ✅ |
| Historial de ejecuciones (100 runs / 30 días) | ✅ | ✅ |
| Generador IA (con tu cuenta BYOK) | ✅ | ✅ |
| Triggers automáticos (push, commit, file saved, deploy…) | — | ✅ |
| Scheduling con intervalo y cron | — | ✅ |
| Workflows como herramientas del agente IA | — | ✅ |
Estadísticas del módulo
10
Tipos de trigger
8
Tipos de acción
6
Pasos de control
8
Plantillas built-in
5
Presets de schedule
100
Runs / workflow
30
Días de retención
Siguiente
Configuración