Reference

Condition

O bloco Condition ramifica um workflow em expressões booleanas. Ele checa cada branch em ordem e roda o caminho da primeira que for verdadeira, sem chamada a modelo. Quando você quer que um modelo decida a rota, use um Router.

Configuração

Conditions

Uma lista de branches: um if, qualquer número de linhas else if e um else final. Cada branch guarda uma expressão JavaScript que avalia para true ou false, e se conecta ao seu próprio caminho. O Zoen as checa de cima para baixo e toma o primeiro branch verdadeiro; o branch else roda quando nenhum bate.

Referencie uma saída anterior dentro de uma expressão com uma connection tag:

<agent.score> > 75
<ticket.subject>.toLowerCase().includes('urgent')
<user.email>.endsWith('@company.com') && <user.plan> === 'pro'

Se uma expressão lançar erro, por exemplo porque lê um campo que não está lá, o bloco erra e a execução segue o error path se um estiver conectado. Proteja valores ausentes com optional chaining (?.) ou um null check.

Saídas

SaídaO que é
<condition.conditionResult>O resultado booleano do branch que bateu
<condition.selectedOption>O id do branch que bateu
<condition.selectedPath>O bloco de destino para o qual o workflow roteou

Exemplos

Rotear um ticket de suporte por prioridade

O Condition checa <start.priority> e roda um caminho downstream. O outro não roda, então uma referência a um bloco no caminho que não rodou volta vazia.

Moderar conteúdo por score

Um Agent pontua o conteúdo, e o Condition publica ou bloqueia com base em <moderate.toxicity>.

Ramificar onboarding por tier da conta

Um Function lê a conta, e o Condition manda contas enterprise pelo setup guiado e todo o resto pelo quick start.

Boas práticas

  • Ordene branches do específico ao geral. O primeiro branch verdadeiro vence, então coloque checagens estreitas antes das catch-alls.
  • Sempre dê um caminho para execuções sem match. Conecte o branch else, ou faça a última condição true, para nada terminar em silêncio.
  • Mantenha expressões simples. Checagens booleanas curtas são fáceis de ler e debugar. Faça lógica pesada num bloco Function primeiro e ramifique no resultado.
  • Proteja valores ausentes. Use optional chaining (?.) ou um null check para um campo ausente não lançar erro.

Common Questions

Não. Ele avalia expressões booleanas com sintaxe JavaScript diretamente, sem chamada a modelo. Isso o torna rápido, determinístico e sem custo de API. Para roteamento com IA, use o bloco Router.
O workflow segue o branch else. Se o branch else não estiver conectado a um bloco downstream, esse caminho termina graciosamente sem erro. Adicione uma condição final simplesmente true para garantir um match.
De cima para baixo, na ordem em que são definidas. O primeiro branch que avalia para true determina o caminho, e branches posteriores não são checados após um match. Coloque condições mais específicas antes das gerais.
Operadores e métodos padrão: comparações (===, !==, >, <), operadores lógicos (&&, ||, !), métodos de string (.includes(), .endsWith(), .toLowerCase()), métodos de array (.includes(), .length), math e comparações de Date. Referencie saídas de blocos com a sintaxe <blockName.output>.
Se uma expressão referencia uma variável undefined ou lança em runtime, o bloco erra e a execução falha, ou segue o error path se um estiver conectado. Use optional chaining (?.) ou null checks explícitos para tratar valores ausentes com segurança.

On this page