O bloco Condition cria ramificações na execução do workflow com base em expressões booleanas. Avalie condições usando outputs de blocos anteriores e roteie para diferentes caminhos sem precisar de um LLM.

Opções de Configuração
Condições
Defina uma ou mais condições que serão avaliadas. Cada condição inclui:
- Expression: Uma expressão JavaScript/TypeScript que retorna true ou false
- Path: O bloco de destino para onde rotear se a condição for verdadeira
- Description: Explicação opcional do que a condição verifica
Você pode criar múltiplas condições que são avaliadas em ordem, e a primeira que der match determina o caminho de execução.
Formato de Expressões de Condição
As condições usam sintaxe JavaScript e podem referenciar valores de blocos anteriores.
// Check if a score is above a threshold
<agent.score> > 75// Check if a text contains specific keywords
<agent.text>.includes('urgent') || <agent.text>.includes('emergency')// Check multiple conditions
<agent.age> >= 18 && <agent.country> === 'US'Acessando Resultados
Depois que uma condição é avaliada, você pode acessar seus outputs:
<condition.result>: Resultado booleano da avaliação da condição<condition.matched_condition>: ID da condição que deu match<condition.content>: Descrição do resultado da avaliação<condition.path>: Detalhes do destino de roteamento escolhido
Recursos Avançados
Expressões Complexas
Use operadores e funções JavaScript nas condições:
// String operations
<user.email>.endsWith('@company.com')
// Array operations
<api.tags>.includes('urgent')
// Mathematical operations
<agent.confidence> * 100 > 85
// Date comparisons
new Date(<api.created_at>) > new Date('2024-01-01')Avaliação de Múltiplas Condições
As condições são avaliadas em ordem até que uma dê match:
// Condition 1: Check for high priority
<ticket.priority> === 'high'
// Condition 2: Check for urgent keywords
<ticket.subject>.toLowerCase().includes('urgent')
// Condition 3: Default fallback
trueTratamento de Erros
As condições lidam automaticamente com:
- Valores undefined ou null com avaliação segura
- Incompatibilidades de tipo com fallbacks apropriados
- Expressões inválidas com registro de erros
- Variáveis ausentes com valores padrão
Outputs
<condition.result>: Resultado booleano da avaliação<condition.matched_condition>: ID da condição que deu match<condition.content>: Descrição do resultado da avaliação<condition.path>: Detalhes do destino de roteamento escolhido
Exemplos de Uso
Roteamento de Suporte ao Cliente - Roteia tickets com base na prioridade
API (Ticket) → Condition (priority === 'high') → Agent (Escalação) ou Agent (Padrão)Moderação de Conteúdo - Filtra conteúdo com base na análise
Agent (Analisar) → Condition (toxicity > 0.7) → Moderação ou PublicarFluxo de Onboarding de Usuário - Personaliza o onboarding com base no tipo de usuário
Function (Processar) → Condition (account_type === 'enterprise') → Avançado ou SimplesBoas Práticas
- Ordene as condições corretamente: Coloque condições mais específicas antes das gerais para garantir que a lógica específica tenha precedência sobre os fallbacks
- Inclua uma condição padrão: Adicione uma condição catch-all (
true) como última condição para lidar com casos não correspondentes e evitar que a execução do workflow trave - Mantenha as expressões simples: Use expressões booleanas claras e diretas para melhor legibilidade e debugging mais fácil
- Documente suas condições: Adicione descrições para explicar o propósito de cada condição, facilitando a colaboração em equipe e manutenção
- Teste casos extremos: Verifique se as condições lidam corretamente com valores limítrofes, testando com valores nos extremos dos seus ranges de condição