Variables

O bloco Variables atualiza variáveis do workflow enquanto uma execução está em andamento. Variáveis são estado com escopo de workflow, criado uma única vez no painel Variables do workflow; este block muda os valores delas conforme a execução avança. Leia uma variável de qualquer block com <variable.name>.

Configuração

Variable Assignments

Uma lista de atribuições, executadas em ordem. O lado direito é uma expressão que pode referenciar saídas anteriores e o valor atual da própria variável:

customerEmail = <api.email>
retryCount     = <variable.retryCount> + 1
currentStatus  = "processing"

As variáveis já precisam existir no painel Variables do workflow, onde você define seus valores iniciais.

Saídas

Variáveis são globais, e não saídas de block: leia-as em qualquer lugar com <variable.name>, como <variable.retryCount>. Cada variável que você atribui também é exposta neste block como <variables.name>, caso você queira referenciá-la diretamente a partir do block.

Exemplos

Contar tentativas

Cada tentativa incrementa retryCount, e um Condition encerra o loop depois de algumas tentativas.

Guardar configurações da execução

Campos do perfil são armazenados uma vez e depois lidos por blocks seguintes com <variable.userTier>, sem precisar buscar de novo.

Boas práticas

  • Inicialize as variáveis primeiro. Crie-as no painel Variables do workflow antes que um bloco Variables as defina.
  • Acompanhe estado entre etapas. Variáveis servem bem para contadores e status que vários blocks leem e atualizam, inclusive dentro de um Loop.
  • Dê nomes claros. Os nomes diferenciam maiúsculas de minúsculas, então retryCount e RetryCount são variáveis diferentes.
  • Atribua a partir de saídas anteriores. Defina uma variável com a saída de qualquer block, como customerEmail = <api.email>.

Common Questions

Não. Variáveis têm escopo de workflow e persistem apenas durante uma única execução. Cada nova execução começa a partir dos valores iniciais definidos no painel Variables do workflow.
Sim. Todos os blocks Variables compartilham um único namespace, então um block posterior pode sobrescrever um valor definido por um anterior usando o mesmo nome.
Use <variable.name> em qualquer campo de entrada, como <variable.retryCount> ou <variable.customerEmail>.
Variáveis são lidas principalmente de forma global, com <variable.name>. Cada atribuição também é exposta no próprio bloco Variables como <variables.name>, então você pode referenciá-la diretamente a partir do block, se preferir.
Nomes descritivos em camelCase ou snake_case. Os nomes diferenciam maiúsculas de minúsculas, então seja consistente.
Sim. Referencie qualquer saída anterior em uma atribuição, como customerEmail = <api.email>, ou incremente um contador a partir do valor atual dele.