Pular para o conteúdo principal
Uma etapa de Condição olha para os dados e envia a execução por um entre vários caminhos. Cada caminho tem a própria sequência de etapas. Um caminho termina na sua última etapa, com um Parar, ou ao Conectar a uma etapa de outro caminho. No exemplo desta seção, Route by value verifica Extract Data › total_value. Acima de 100.000, a execução vai para Draft Escalation Note; senão, vai para Approval Letter.
Etapa de Condição com a condição High value e o caminho Senão, cada um com uma etapa

Adicionando uma Condição

1

Adicione a etapa

Clique em + abaixo da etapa cuja saída você quer usar para rotear e escolha Condição no grupo Módulos. Dê um nome, por exemplo Route by value.
2

Adicione uma condição

Clique em Adicionar Condição. Cada condição tem um Nome da condição (High value) e uma Expressão da condição. O nome é o que você vai ver nos resultados e em Depurar, e também é a saída da etapa de Condição.
3

Monte a expressão

No modo Seletores, escolha uma variável (uma Entrada ou a saída de uma etapa, até o nível do atributo), um operador e um valor. Adicione mais linhas para exigir várias coisas ao mesmo tempo; as linhas são combinadas com E.Os seletores comparam texto e booleanos. Para comparar números, como em High value, clique em Mudar para Código e escreva input["Extract Data"].total_value > 100000. Veja o Modo código.
4

Preencha os caminhos

Cada condição ganha o próprio caminho, mais o caminho Senão para quando nenhuma condição bate. Clique em + dentro de um caminho para adicionar etapas a ele, exatamente como no fluxo principal.
As condições são avaliadas em ordem, e a primeira que bate vence. Coloque a condição mais específica primeiro.

Operadores

A lista de operadores não tem comparações numéricas (maior que, menor que). Para rotear por um número, use o Modo código.
Compare com o que a etapa anterior realmente produz. Se total_value é um atributo número no Formato de Saída de Extract Data, total_value > 100000 funciona no modo código. Se ele é texto como "R$ 125.000,00", nenhuma comparação numérica vai funcionar: corrija o Formato de Saída (ou normalize o valor em uma etapa de Execução de Código) em vez de brigar com a Condição.

Modo código

Clique em Mudar para Código para escrever a expressão em JavaScript em vez de seletores. A expressão precisa resultar em verdadeiro ou falso. Entradas e saídas das etapas ficam disponíveis em um objeto input cujas chaves são os nomes. É assim que você compara números:
Você também pode combinar condições:
O modo código é o caminho para combinar linhas com OU, para comparar dois valores entre si, ou para testar uma probabilidade da Classificação (input["Assess Contract"].answers.has_non_compete.noul > 0.5). Mudar para Seletores desfaz a troca, desde que os seletores consigam representar a expressão.
Para desenvolvedores: no Workflow salvo, uma condição em seletores é armazenada como referência|operador|valor (por exemplo step://<id>?path=counterparty|contains|Initech, várias linhas unidas por &&), e uma condição em código como a expressão JavaScript com type: "code". As duas são avaliadas no mesmo sandbox da Execução de Código.

Senão

O caminho Senão (Condição padrão na configuração) roda quando nenhuma condição bateu. Ele sempre existe; você não precisa colocar etapas nele. Um Senão vazio significa que a execução simplesmente termina ali quando nada bate. No exemplo, o caminho Senão contém Approval Letter: todo contrato que não é de alto valor recebe uma carta.

Como os caminhos terminam

Um caminho pode terminar de três formas:
  • Na sua última etapa. Não é preciso nada de especial. A execução termina ali, e a saída dessa etapa é o resultado da execução.
  • Com Parar. Adicione Parar (grupo Ações) para encerrar o Workflow explicitamente naquele ponto: “Parar e finalizar o workflow nesta etapa”. Use quando uma condição significa “não fazer mais nada”, por exemplo uma condição Not a contract que não deve gerar nada. Parar não produz saída.
  • Com Conectar. Escolha Conectar em um caminho para ligá-lo a uma etapa de outro caminho. Daquela etapa em diante, os dois caminhos compartilham as mesmas etapas. Use quando os caminhos diferem só no meio: por exemplo, tanto o caminho de escalonamento quanto o de aprovação podem Conectar a uma etapa final Register Decision que arquiva o resultado.
Condição com três caminhos: um termina em Parar, outro se conecta a uma etapa de outro caminho
Etapas têm uma entrada e uma saída, então você não consegue desenhar duas etapas rodando em paralelo depois de uma Condição nem voltar para uma etapa anterior. Paralelismo é a Execução paralela nas configurações do Workflow ou um Mapear; uma repetição sobre uma lista é um Mapear.

Como os resultados mudam por caminho

Só as etapas do caminho seguido rodam. No painel de resultado e em Depurar, as etapas dos outros caminhos aparecem como Pulado, e a Condição mostra qual condição Correspondeu e qual Não correspondeu, com os Valores referenciados que ela comparou. A consequência para quem consome o resultado: um contrato de alto valor devolve a nota de escalonamento, um normal devolve a carta gerada. A saída da execução é a última etapa que de fato rodou, então dois caminhos podem produzir dois formatos diferentes. Se o Workflow alimenta um App ou um cliente de API, faça uma destas coisas:
  • faça a última etapa de cada caminho produzir os mesmos atributos (mesmo Formato de Saída), ou
  • Conecte os caminhos em uma etapa final que produz o resultado, ou
  • leia a saída da etapa específica de que você precisa em vez do resultado da execução; veja Saídas e resultados.

Depurando uma Condição

Depois de uma execução, abra a Condição no painel de resultado ou em Depurar. Você vê cada condição com o status (Correspondeu, Não correspondeu, Não avaliado para as condições depois da que bateu), a expressão como foi Avaliada como, com os valores reais, e se o Senão foi Seguida. A saída da etapa de Condição é o nome da condição que bateu, ou Default, que você pode referenciar nas etapas seguintes ou na Execução de Código (input["Route by value"]).