Workflows
Motor de automação orientada a eventos. Cada workflow tem um trigger (um evento do app ou um agendamento) e uma sequência de etapas que compartilham contexto, podem referenciar umas às outras por bindings e reagem a falhas com retry, timeout ou try/catch.
Três formas de criar um workflow
O módulo abre em uma tela de boas-vindas com três cards. Escolha o seu caminho e você chega ao fluxo correspondente.
Templates
8 templates pré-construídos (CI/CD, auto-deploy, backup após deploy, auto-format, branch protect, AI on error…). Tocar em "Activate" cria uma cópia editável com um UUID novo.
Gerar com IA
Digite um prompt em linguagem natural ("when push to main, deploy and notify") e o assistente gera um workflow editável. Usa a sua conta de IA (BYOK); se a chamada falhar, há um fallback heurístico local.
Editor visual
FAB "+" em "Meus workflows" — formulário completo: nome, trigger, lista de etapas com arrastar para reordenar, bottom-sheet de config por etapa, seção de reliability recolhível.
Triggers (10)
Cada trigger aceita um filtro opcional (branch, extensão de arquivo, provedor…) que restringe os eventos antes de disparar o workflow.
| Trigger | Dispara quando… |
|---|---|
| Git push | Você envia commits para um branch (filtro: branch) |
| Git commit | Você cria um commit (filtro: branch) |
| File saved | Você salva um arquivo no editor (filtro: extensão) |
| App foregrounded | Você traz o app de volta para o primeiro plano |
| Terminal command finished | Um comando do terminal termina (filtro: padrão) |
| Database query executed | Uma query é executada (filtro: nome da tabela) |
| Deployment completed | Um deploy termina (filtro: provedor) |
| Deployment failed | Um deploy falha (filtro: provedor) |
| Error detected | Outro workflow falha — útil para encadear respostas a erros |
| Manual / Scheduled | Manual (botão) ou um agendamento (intervalo ou cron) |
Etapas de ação (8)
Cada etapa de ação tem seu próprio formulário no app e produz um resultado que etapas posteriores podem referenciar.
Run command
Executa qualquer comando do terminal
Notification
Exibe uma notificação com título e mensagem
AI analyze
Envia código ou texto para o assistente de IA e captura a resposta
AI generate
Gera novo código a partir de um prompt
Git operation
Commit, push ou pull (com branch e mensagem opcionais)
Deploy
Dispara um deploy no provedor de hospedagem ativo
Database backup
Executa um backup do banco de dados ativo
Open file
Abre um arquivo no editor com uma linha opcional
Control flow
Além da sequência plana, os workflows suportam estruturas de controle para ramificar, iterar, paralelizar e tratar erros.
Conditional (if / else)
Ramifica com base em uma condição. Operadores: igual, diferente, maior que, menor que, contém, está vazio. Aceita literais e bindings.
Loop
Itera sobre uma coleção de bindings com um alias por iteração. Limite padrão de 100 iterações.
Parallel
Executa vários branches ao mesmo tempo com uma política de join (esperar todos, esperar o primeiro, etc.).
Wait
Pausa a execução por um tempo configurável. Presets: 1s, 5s, 30s, 1m, 5m.
Try / Catch
Se qualquer etapa do bloco try falhar, salta para o catch com a mensagem de erro vinculada a uma variável acessível.
When (condição leve)
Cada etapa de ação pode carregar um "when" — se a expressão for falsa, a etapa é ignorada sem envolvê-la em um Conditional completo.
O motor executa todos os seis tipos de etapa. O editor visual expõe atualmente: etapa de ação, Wait e Conditional (um nível de aninhamento). Loop, Parallel e Try/Catch funcionam no motor, mas ainda não estão no editor.
Bindings entre etapas
Qualquer campo do formulário aceita literais ou bindings com a sintaxe `{{...}}` para referenciar outras variáveis do workflow. Se uma expressão não resolver, ela retorna uma string vazia — os workflows são tolerantes a etapas que foram ignoradas por um branch condicional.
| Expressão | Resolve para |
|---|---|
| {{var.<name>}} | Variável de escopo do workflow |
| {{step.<id>.status}} | Status da etapa (SUCCESS, FAILURE, SKIPPED, TIMED_OUT) |
| {{step.<id>.output}} | Mapa completo do resultado |
| {{step.<id>.output.<field>}} | Campo específico do resultado |
| {{step.<id>.error}} | Mensagem de erro se falhou |
| {{item.<alias>}} | Valor atual dentro de um Loop |
| {{trigger.eventName}} | Nome do evento que disparou o workflow |
Cada bottom-sheet de configuração inclui uma dica visível com a sintaxe para que o sistema de bindings seja descobrível pela UI.
Reliability — retry, timeout e backoff
Cada etapa de ação tem uma seção Reliability recolhível com cinco campos. Se uma etapa falhar, ela tenta novamente com a estratégia de espera escolhida até esgotar as tentativas.
Max attempts
Número de tentativas antes de a etapa ser marcada como falha (1 = sem retry)
Backoff strategy
FIXED (espera constante), LINEAR (cresce linearmente) ou EXPONENTIAL (dobra a cada tentativa)
Initial delay
Espera após a primeira falha, em milissegundos
Max delay
Limite superior — a espera nunca cresce além deste valor
Timeout
Cancela a etapa se levar mais de X milissegundos. Marcada como TIMED_OUT
Se uma etapa com timeout estiver dentro de um bloco try / catch, o catch é executado automaticamente com a mensagem de erro disponível como variável.
Agendamento — intervalo ou cron
Qualquer workflow com trigger manual pode ter um ou mais agendamentos anexados. Eles sobrevivem ao encerramento do app e são reagendados automaticamente na inicialização.
Presets de intervalo
- • A cada 15 minutos
- • A cada hora
- • A cada 6 horas
Devido a restrições do sistema operacional, o intervalo mínimo real é de 15 minutos — qualquer valor menor é ajustado para esse.
Presets cron + expressão personalizada
- •
0 9 * * *— todos os dias às 9:00 - •
0 9 * * 1— segundas-feiras às 9:00 - • Expressão personalizada de 5 campos
Aceita curingas (*), listas (1,3,5), intervalos (1-5) e passos (*/2). Enquanto você digita, o app mostra a próxima data de disparo ao vivo ou avisa se a expressão for inválida.
Histórico de execuções
Cada execução é persistida com o snapshot completo do resultado de cada etapa. Ela sobrevive a crashes e encerramentos do app.
- •Timeline do mais recente primeiro por workflow com ícone e cor de status
- •Detalhe por execução: passo a passo com duração, output renderizado em monospace e mensagem de erro, se houver
- •Status das etapas: SUCCESS (verde), FAILURE (vermelho), SKIPPED (cinza), TIMED_OUT (laranja), RUNNING (azul)
- •Retenção automática: até 100 execuções por workflow + limite de 30 dias
O botão "▶ Test now" no editor executa o workflow sem persistir a execução nem emitir eventos — útil para iterar durante o design sem poluir o histórico. Os efeitos colaterais (comandos, notificações, prompts de IA) são executados: é um teste real, não uma prévia seca.
Gerador de IA
Você cola um prompt como "when push to main, deploy and notify" e o app gera um workflow com trigger detectado + ações + filtros, pronto para salvar e ativar. Modelo BYOK: usa o seu provedor de IA ativo (Gemini, OpenAI, Claude…).
Se a chamada ao provedor falhar (sem token, sem rede, JSON inválido), o app recorre silenciosamente a um parser heurístico local que reconhece palavras-chave ("push", "deploy", "test", "notify", "backup", "ai", "format"…) e produz um workflow básico. O fallback é silencioso — você sempre obtém uma prévia.
Workflows como ferramentas do agente de IA
Qualquer workflow que você marque como "Available to AI agent" no editor é exposto automaticamente como uma ferramenta no chat de IA. O agente decide quando chamá-lo e passa parâmetros, que chegam ao workflow como variáveis (`{{var.<key>}}`).
Apenas workflows ativos com a opção marcada são expostos. A descrição que o modelo vê é a que você escreve no campo "AI tool description" (ou a descrição geral, se estiver vazio). As invocações do agente são persistidas no histórico como qualquer execução manual.
Templates integrados (8)
Toque em "Activate" em qualquer um deles para criar uma cópia editável com um UUID novo. Se você já tiver uma cópia ativa desse template, o botão fica desabilitado para evitar duplicatas.
| Template | Trigger | Ações |
|---|---|---|
| CI/CD pipeline | Git push | npm test → deploy → notificação |
| Auto-deploy on push | Git push (branch main) | deploy → notificação |
| DB backup on deploy | Deployment completed | backup → notificação |
| AI on error | Error detected | notificação → análise de IA |
| Auto-format | File saved | prettier --write . |
| Auto-commit | File saved | git add -A && git commit |
| Branch protect | Git push (branch main) | npm test → notificação de gate |
| Test on commit | Git commit | npm test → notificação |
Você também pode instalar workflows do Marketplace — eles aparecem como cópias normais em "Meus workflows".
Free vs Pro
| Recurso | Free | Pro |
|---|---|---|
| Editor visual, control flow, bindings, retry, timeout | ✅ | ✅ |
| Execução manual + botão "Test now" | ✅ | ✅ |
| 8 templates integrados | ✅ | ✅ |
| Histórico de execuções (100 execuções / 30 dias) | ✅ | ✅ |
| Gerador de IA (com a sua própria conta BYOK) | ✅ | ✅ |
| Triggers automáticos (push, commit, arquivo salvo, deploy…) | — | ✅ |
| Agendamento por intervalo e cron | — | ✅ |
| Workflows como ferramentas do agente de IA | — | ✅ |
Estatísticas do módulo
10
Tipos de trigger
8
Tipos de ação
6
Etapas de control flow
8
Templates integrados
5
Presets de agendamento
100
Execuções / workflow
30
Dias de retenção
Próximo
Configuração