Desenhar processos
O canvas dos workflows — criar um processo, escolher o registo de que ele trata, arrastar passos, declarar variáveis e ler os avisos do desenho.
Um workflow é um processo de negócio desenhado numa tela: passos ligados por setas, decisões que abrem caminhos, esperas que podem durar semanas e tarefas atribuídas a pessoas. É a peça certa para tudo o que tem estados e gente pelo meio — uma aprovação de despesa, o fecho de uma oportunidade, o onboarding de um cliente novo.
Um workflow distingue-se de um script agendado em duas coisas:
- Toda a execução trata de UM registo. Não é opcional: cada execução está agarrada a uma linha de uma entidade da app — a oportunidade 42, a conta 17. É esse registo que os passos lêem e escrevem.
- Uma execução pode dormir. Um script corre em segundos; um processo pode ficar três semanas à espera que alguém carregue num botão, e retoma exactamente onde parou.
Ao longo deste capítulo usamos o processo Aprovação de oportunidade da app Gestão de Clientes: oportunidades acima de 25.000 € passam pela direcção antes de fechar; abaixo disso fecham sozinhas.
Onde vivem os workflows
Os workflows são do lado da UI da app: abre o minitab UI e desce a árvore até ao grupo Workflows, por baixo dos ecrãs e dos ficheiros. Cada processo é uma linha; clicar no nome abre o desenho num separador do espaço de trabalho.

Numa app que ainda não tem nenhum, o grupo mostra apenas "Ainda não há workflows.".
Criar um workflow
- Passa o rato pela linha do grupo Workflows e clica no botão Novo workflow (o ícone de nós, à direita do de pasta).
- Preenche o Nome — por exemplo
Aprovação de despesa. É o nome que aparece na árvore, no histórico das execuções e nas listas onde o processo é escolhido. - Clica em Criar.

O processo nasce com um nó de Início já na tela — sem ele não há por onde começar — e o desenho abre de imediato.
Dica
O botão de pasta ao lado cria pastas dentro de Workflows. Numa app com
muitos processos, agrupá-los por área (comercial/, rh/) poupa muito
tempo à procura.
O desenho
O separador de um workflow tem duas vistas, Desenho e Execuções, e o Desenho divide-se em três colunas:

| Zona | O que é |
|---|---|
| Nós (esquerda) | A paleta com os tipos de passo. Arrasta-se um para a tela. |
| A tela (centro) | O processo desenhado. Arrasta-se para mover, liga-se saída a entrada para criar setas. |
| O painel da direita | As propriedades — do processo quando não há nada seleccionado, do passo quando há. |
No cabeçalho, à direita do nome, ficam o identificador do processo (um
código como wf_4ef9ed11, que se copia com um clique — é por ele que o código
manda o processo arrancar), o estado da gravação, e as setas de desfazer e
refazer.
Não há botão de gravar: o desenho grava-se sozinho, um instante depois de cada alteração.
A paleta de nós

Para acrescentar um passo, arrasta o tipo da paleta para a tela. Para o
ligar, puxa uma seta do ponto de saída de um passo até ao ponto de entrada do
seguinte. Para apagar, selecciona e carrega em Delete.
O nó de Início é a excepção: existe sempre um, e não se apaga.
Cada tipo está descrito na página seguinte, Passos, decisões e esperas. O resumo:
| Grupo | Nós |
|---|---|
| Decidir e ramificar | Condição, Paralelo, Junção, Ciclo |
| Esperar | Esperar, Esperar evento |
| Agir | Escrever no registo, Notificar, Email, Correr script, Sub-workflow |
| Pessoas | Tarefa |
| Acabar | Fim |
As propriedades do processo
Clica em qualquer zona vazia da tela para desmarcar o passo seleccionado — o painel da direita passa a mostrar as propriedades do processo.

| Campo | O que faz |
|---|---|
| Descrição | "Para que serve este processo." Texto livre, só para quem constrói. |
| Ligado | Desligado, "o processo não arranca por evento nenhum — só existe para desenho". Continua a poder ser editado; simplesmente não corre. |
| Execuções sobre o mesmo registo | Quantas forem precisas ou Só uma de cada vez. |
| Entidade | A entidade de que cada execução trata — uma das APIs de tabela da app. |
| Campo da chave | O campo que identifica o registo (normalmente a chave primária). |
| Variáveis | Ver a secção seguinte. |
Sobre a concorrência: com Só uma de cada vez, "emitir o evento outra vez enquanto houver execução viva não arranca nada". É o que se quer numa aprovação — a mesma oportunidade não deve ter dois processos de aprovação a correr ao mesmo tempo. Num processo tipo "pedido de férias", em que o mesmo funcionário pode ter vários pedidos, escolhe-se Quantas forem precisas.
Atenção
Sem Entidade escolhida, o desenho acusa erro e o processo não corre: "Falta escolher a entidade — toda a execução trata de um registo." É a primeira coisa a definir num processo novo.
Variáveis do processo
As variáveis são "o que a execução carrega consigo: comentários, valores calculados, decisões". Vivem enquanto a execução viver, e são independentes do registo — o comentário que a direcção escreveu não tem de ficar gravado na tabela das oportunidades para o processo o poder usar três passos à frente.
Abre-as no botão … da linha Variáveis:

- Clica em Acrescentar variável.
- Dá-lhe um Nome (sem espaços — é assim que os passos lhe chamam).
- Escolhe o Tipo: Texto, Número, Sim/Não ou Data.
- Opcionalmente, um Valor inicial.
A partir daí, qualquer passo que peça um valor pode ir buscá-lo à variável, e os passos Correr script e Tarefa podem escrever nela.
Os avisos do desenho
Por baixo da tela aparece uma barra sempre que há problemas — "{n} erro(s), {n} aviso(s) no desenho". Clicar nela abre a lista; clicar numa linha selecciona o passo em causa.

Os problemas mais comuns:
| Mensagem | O que quer dizer |
|---|---|
| "O processo não tem nó de início." | Erro. Sem início não arranca. |
| "Falta escolher a entidade — toda a execução trata de um registo." | Erro. Falta preencher Entidade nas propriedades. |
| "Esta tarefa não diz a quem deve ser atribuída — a execução vai falhar aqui." | Erro. Uma tarefa sem destinatários nunca chega a ninguém. |
| "Esta tarefa não tem decisões: a pessoa não teria em que carregar." | Erro. Ver Tarefas para pessoas. |
| "Só pode haver um Início: quem manda arrancar diz o workflow, não o passo." | Erro. Apaga os inícios a mais. |
| "A saída «X» não vai a lado nenhum." | Aviso. Há um caminho por ligar. |
| "Este passo não é alcançável a partir do início." | Aviso. Um passo solto na tela. |
| "O processo não tem nó de fim." | Aviso. |
Nota
Os avisos nunca impedem gravar. Valida-se ao usar, não ao escrever — um processo leva dias a desenhar e ninguém quer perder o trabalho por causa de uma seta que falta. Mas um processo com erros não deve ser ligado.
Ligado ou desligado
O crachá ao lado do nome mostra Ligado ou Desligado. É o interruptor Ligado nas propriedades que o comanda, e a regra é simples: desligado, o processo não arranca por nada — nem por um botão de um ecrã, nem por um script. Serve para desenhar com calma, e para parar um processo com problemas sem o apagar.
Dica
Desligar um processo não cancela as execuções que já estão a correr. As que estão vivas seguem o seu caminho; o que deixa de acontecer é o arranque de novas.
Renomear, mover e apagar
No menu ⋮ da linha do workflow, na árvore:
- Renomear — muda o nome de apresentação. O identificador do processo
(
wf_…) não muda, por isso nada do que o chama se parte. - Mover — para outra pasta dentro de Workflows.
- Eliminar — apaga o desenho. As execuções que já correram deixam de ter processo a que pertencer.
Perguntas frequentes
Editei o desenho com execuções a meio. O que acontece às que estão a correr? Nada. Cada execução guarda a cópia do desenho com que arrancou — quem está a meio de um processo não vê o chão mudar. A versão nova vale para as execuções que começarem a partir daí.
Posso ter dois nós de Início? Não. Quem manda arrancar o processo é o ecrã, o script ou o processo pai — não o desenho. Um segundo Início é um erro assinalado na barra de avisos.
O processo está Ligado mas não arranca. Verifica três coisas: se a Entidade está escolhida; se a concorrência está em Só uma de cada vez e já existe uma execução viva sobre esse registo; e se quem manda arrancar está mesmo a chamar o processo — ver Tarefas para pessoas, secção "Formas de arranque".