Pular para o conteúdo principal
O bloco de Condição permite ramificar a rota de execução do seu fluxo de trabalho baseando-se em expressões booleanas, permitindo criar fluxos de trabalho dinâmicos e responsivos com diferentes rotas de execução. Ele avalia condições e direciona o fluxo de trabalho consequentemente, permitindo controlar o fluxo de execução baseado em dados ou lógica sem requerer um LLM.
API
Os blocos de Condição permitem uma tomada de decisão determinística sem requerer um LLM, tornando-os ideais para lógica de ramificação simples.

Visão geral

O bloco de Condição permite:
1
Criar lógica de ramificação: direcionar fluxos de trabalho baseados em expressões booleanas
2
Tomar decisões baseadas em dados: avaliar condições usando saídas de blocos anteriores
3
Lidar com múltiplos cenários: definir múltiplas condições com diferentes rotas
4
Fornecer roteamento determinístico: tomar decisões sem requerer um LLM

Como funciona

O bloco de Condição opera através de um processo de avaliação sequencial:
1
Avaliar expressão - Processa a expressão booleana de JavaScript/TypeScript usando os dados atuais do fluxo de trabalho
2
Determinar resultado - Retorna verdadeiro ou falso baseado na avaliação da expressão
3
Direcionar fluxo de trabalho - Direciona a execução ao bloco de destino apropriado baseado no resultado
4
Fornecer contexto - Gera metadados sobre a decisão para depuração e monitoramento

Opções de configuração

Condições

Defina uma ou mais condições que serão avaliadas. Cada condição inclui:
  • Expressão: uma expressão JavaScript/TypeScript que avalia a verdadeiro ou falso
  • Rota: o bloco de destino para o qual direcionar se a condição for verdadeira
  • Descrição: explicação opcional do que a condição verifica
Você pode criar múltiplas condições que são avaliadas em ordem, onde a primeira condição que corresponder determina a rota de execução.

Formato de expressão de condição

As condições utilizam sintaxe JavaScript e podem fazer referência a valores de entrada de blocos anteriores.
  • Limiar de pontuação
  • Análise de texto
  • Múltiplas condições
// Check if a score is above a threshold
<agent.score> > 75

Acesso aos resultados

Depois de avaliar uma condição, você pode acessar suas saídas:
  • <condition.result>: Resultado booleano da avaliação da condição
  • <condition.matched_condition>: ID da condição que correspondeu
  • <condition.content>: Descrição do resultado da avaliação
  • <condition.path>: Detalhes do destino de roteamento escolhido

Funcionalidades avançadas

Expressões complexas

Use operadores e funções de 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 corresponda:
// Condition 1: Check for high priority
<ticket.priority> === 'high'

// Condition 2: Check for urgent keywords
<ticket.subject>.toLowerCase().includes('urgent')

// Condition 3: Default fallback
true

Tratamento de erros

As condições lidam automaticamente com:
  • Valores indefinidos ou nulos com avaliação segura
  • Incompatibilidades de tipo com alternativas apropriadas
  • Expressões inválidas com registro de erros
  • Variáveis faltantes com valores padrão

Entradas e saídas

  • Configuração
  • Variáveis
  • Resultados
  • Condições: Array de expressões booleanas para avaliar
  • Expressões: Condições JavaScript/TypeScript usando saídas de blocos
  • Rotas de roteamento: Blocos de destino para cada resultado de condição

Exemplos de casos de uso

Roteamento de atendimento ao cliente

Cenário: Rotear tickets de suporte de acordo com a prioridade

  1. O bloco API obtém dados de tickets de suporte
  2. A condição verifica se <api.priority> é igual a ‘high’
  3. Tickets de alta prioridade → Agente com ferramentas de escalonamento
  4. Tickets de prioridade normal → Agente de suporte padrão

Moderação de conteúdo

Cenário: Filtrar conteúdo baseado em resultados de análise

  1. O agente analisa conteúdo gerado por usuários
  2. A condição verifica se <agent.toxicity_score> > 0.7
  3. Conteúdo tóxico → Fluxo de moderação
  4. Conteúdo limpo → Fluxo de publicação

Fluxo de integração de usuários

Cenário: Personalizar a integração de acordo com o tipo de usuário

  1. O bloco de função processa dados de registro de usuários
  2. A condição verifica se <user.account_type> === ‘enterprise’
  3. Usuários empresariais → Fluxo de configuração avançada
  4. Usuários individuais → Fluxo de integração simples

Melhores práticas

  • Ordene as condições corretamente: Coloque as condições mais específicas antes das gerais para garantir que a lógica específica tenha prioridade sobre as alternativas
  • Inclua uma condição padrão: Adicione uma condição geral (true) como última condição para lidar com casos não correspondentes e evitar que a execução do fluxo de trabalho fique travada
  • Mantenha as expressões simples: Use expressões booleanas claras e diretas para melhorar a legibilidade e facilitar a depuração
  • Documente suas condições: Adicione descrições para explicar o propósito de cada condição para melhor colaboração em equipe e manutenção
  • Teste casos limite: Verifique que as condições lidem corretamente com valores limite testando com valores nos extremos dos intervalos das suas condições