Skip to main content

Visão Geral

O Workflow Agent é o tipo mais avançado e flexível de agente na plataforma Evo AI. Utilizando LangGraph como engine de execução e React Flow para interface visual, permite criar workflows complexos com múltiplos tipos de nodes, condições, delays e controle de fluxo sofisticado. Diferentemente dos outros tipos de agentes (Sequential, Parallel, Loop), o Workflow Agent oferece controle granular sobre cada etapa do processo, permitindo criar lógicas de negócio complexas com ramificações condicionais, loops customizados e orquestração avançada.
Baseado em LangGraph: Implementação usando LangGraph para execução de workflows e React Flow para interface visual de construção.

Características Principais

Interface Visual

Construção drag-and-drop com React Flow para workflows intuitivos

LangGraph Engine

Execução robusta baseada em LangGraph para workflows complexos

Múltiplos Node Types

Agent, Message, Condition e Delay nodes para máxima flexibilidade

Teste Integrado

Teste individual de agentes e teste completo do workflow

Tipos de Nodes

1. Agent Node

Função: Executa agentes (novos ou existentes) como parte do workflowConfigurações:
  • Selecionar Agente Existente: Escolha de agentes já criados na plataforma
  • Criar Novo Agente: Criação inline de agente específico para o workflow
  • Editar Agente: Modificação de agentes existentes
  • Input Mapping: Mapeamento de dados de entrada
  • Output Key: Chave para armazenar resultado no contexto
Exemplo de uso:
Agent Node: "Analisador de Sentimento"
- Agent: sentiment_analyzer (existente)
- Input: texto do output anterior
- Output Key: sentiment_analysis
Agent Node no CanvasFormulário de configuração:Configurando Agent Node

2. Message Node

Função: Envia mensagens diretas como agente no fluxo, ideal para controle de etapasConfigurações:
  • Type: Tipo da mensagem (atualmente apenas “Texto” disponível)
  • Content: Conteúdo da mensagem a ser enviada
Tipo disponível:
  • Texto: Mensagem em formato texto simples
Exemplo de configuração:
Type: Texto
Content: Iniciando análise de qualidade do conteúdo recebido
Casos práticos:
  • Instruções para próximos nodes: Orientações específicas para agentes subsequentes
  • Mensagens de status: Informações sobre progresso do workflow
  • Dados estruturados: Informações formatadas para processamento
  • Controle de contexto: Mensagens que definem contexto entre etapas
  • Notificações: Avisos sobre estados ou condições específicas
  • Logs de processo: Registros de etapas importantes do workflow
Exemplos práticos:Instrução para Análise:
Type: Texto
Content: Analise o documento focando em aspectos de qualidade e conformidade
Status de Progresso:
Type: Texto
Content: Etapa de validação concluída com sucesso, prosseguindo para aprovação
Contexto para Próxima Etapa:
Type: Texto
Content: Documento classificado como alta prioridade, aplicar processo acelerado
Message Node no CanvasFormulário de configuração:Configurando Message Node

3. Condition Node

Função: Verifica output do node anterior e direciona execução baseado em condiçõesCondition Type:
  • Previous output: Valida o resultado retornado pelo node anterior (único tipo disponível)
Configurações:
  • Output Field: Campo do output anterior para verificar (Content ou Status)
  • Operator: Operador de comparação
  • Comparison Value: Valor para comparação
  • Preview: Visualização da condição configurada
Campos de Output disponíveis:
  • Content: Conteúdo da resposta do node anterior
  • Status: Status de execução do node anterior
Operadores disponíveis:Verificação de Existência:
  • is defined: Verifica se o campo está definido
  • is not defined: Verifica se o campo não está definido
Comparação de Igualdade:
  • is equal to: Campo é igual ao valor especificado
  • is not equal to: Campo não é igual ao valor especificado
Verificação de Conteúdo:
  • contains: Campo contém o texto especificado
  • does not contain: Campo não contém o texto especificado
  • starts with: Campo inicia com o texto especificado
  • ends with: Campo termina com o texto especificado
Comparação Numérica:
  • is greater than: Campo é maior que o valor numérico
  • is greater than or equal to: Campo é maior ou igual ao valor
  • is less than: Campo é menor que o valor numérico
  • is less than or equal to: Campo é menor ou igual ao valor
Expressões Regulares:
  • matches the regex: Campo corresponde à expressão regular
  • does not match the regex: Campo não corresponde à regex
Exemplos de configuração:Verificação de Status Completo:
Condition Type: Previous output
Output Field: Content
Operator: contains
Comparison Value: completed
Preview: Content contains "completed"
Verificação de Score de Qualidade:
Condition Type: Previous output
Output Field: Content
Operator: contains
Comparison Value: "score": 8
Preview: Content contains "score": 8
Verificação de Status de Execução:
Condition Type: Previous output
Output Field: Status
Operator: is equal to
Comparison Value: success
Preview: Status is equal to "success"
Verificação com Regex:
Condition Type: Previous output
Output Field: Content
Operator: matches the regex
Comparison Value: "confidence":\s*([0-9.]+)
Preview: Content matches the regex "confidence":\s*([0-9.]+)
Como configurar:
  1. Selecione “Previous output” como Condition Type
  2. Escolha o Output Field (Content ou Status)
  3. Selecione o Operator apropriado
  4. Digite o Comparison Value
  5. Verifique o Preview da condição
  6. Configure os caminhos True/False conectando as saídas
Condition Node no CanvasFormulário de configuração:Configurando Condition NodeDialog de adição de condição:Dialog para Adicionar Condição

4. Delay Node

Função: Adiciona delays simples no workflow para controle de timingConfigurações:
  • Delay Value: Valor numérico do delay
  • Time Unit: Unidade de tempo (segundos, minutos, horas, dias)
  • Description: Descrição opcional do propósito do delay
Unidades de Tempo disponíveis:
  • Segundos: Para delays curtos (1-59 segundos)
  • Minutos: Para delays médios (1-59 minutos)
  • Horas: Para delays longos (1-23 horas)
  • Dias: Para delays muito longos (1+ dias)
Exemplos de configuração:Delay para Rate Limiting:
Delay Value: 30
Time Unit: Segundos
Description: Rate limiting entre chamadas de API
Delay para Processamento:
Delay Value: 5
Time Unit: Minutos
Description: Aguardar processamento externo completar
Delay para Priorização:
Delay Value: 1
Time Unit: Horas
Description: Delay para leads de baixa prioridade
Delay para Agendamento:
Delay Value: 1
Time Unit: Dias
Description: Aguardar próximo dia útil para processamento
Casos práticos:
  • Rate limiting: Evitar sobrecarga de APIs externas
  • Aguardar processamento: Tempo para sistemas externos processarem
  • Simular tempo humano: Delays realistas em automações
  • Controle de throughput: Gerenciar velocidade de processamento
  • Agendamento: Delays para horários específicos
  • Priorização: Delays diferentes baseados em prioridade
Delay Node no CanvasFormulário de configuração:Configurando Delay Node

Criando um Workflow Agent

Passo a Passo na Plataforma

  1. Na tela principal do Evo AI, clique em “New Agent”
  2. No campo “Type”, selecione “Workflow Agent”
  3. Você verá a interface visual do React Flow
Menu de Criação de Workflow Agent
Name: Nome descritivo do workflow
Exemplo: pipeline_aprovacao_conteudo
Description: Resumo do workflow complexo
Exemplo: Workflow completo para aprovação de conteúdo com 
análise automática, revisão condicional e aprovação final
Goal: Objetivo do workflow
Exemplo: Automatizar processo de aprovação de conteúdo garantindo 
qualidade através de múltiplas verificações e aprovações condicionais
Interface React Flow:Palette de Nodes: Arraste nodes da palette para o canvas
  • 🤖 Agent Node - Para executar agentes
  • 💬 Message Node - Para mensagens diretas
  • 🔀 Condition Node - Para lógica condicional
  • ⏱️ Delay Node - Para delays temporais
Conexões: Conecte nodes arrastando das saídas para entradasConfiguração: Clique duplo em qualquer node para configurarInterface Visual do CanvasMenu de Content Nodes:Menu de Content NodesMenu de Logic Nodes:Menu de Logic Nodes
Para cada node no workflow:Agent Nodes:
  • Selecione agente existente ou crie novo
  • Configure input mapping
  • Defina output key
Message Nodes:
  • Escreva conteúdo da mensagem
  • Use variáveis do contexto
  • Configure tipo de mensagem
Condition Nodes:
  • Defina lógica de verificação
  • Configure caminhos true/false
  • Teste condições
Delay Nodes:
  • Configure duração
  • Defina condições de skip
  • Configure delays dinâmicos
Conexões entre nodes:
  • Arraste da saída de um node para entrada do próximo
  • Valide que todas as conexões fazem sentido
  • Configure múltiplas saídas para Condition Nodes
Validação automática:
  • Verificação de loops infinitos
  • Validação de tipos de dados
  • Checagem de nodes órfãos
  • Verificação de caminhos completos
Start e End nodes:
  • Todo workflow precisa de um Start node
  • Configure End nodes para diferentes cenários

Exemplos Práticos

1. Pipeline de Aprovação de Conteúdo

Objetivo: Automatizar aprovação de conteúdo com múltiplas verificaçõesFluxo do workflow:
START

[Message: Instrução Inicial]

[Agent: Analisador de Qualidade]

[Condition: Score >= 8.0?]
  ├─ TRUE → [Agent: Aprovação Automática] → [Message: Conteúdo Aprovado] → END
  └─ FALSE → [Agent: Revisão Manual]

             [Condition: Aprovado na Revisão?]
               ├─ TRUE → [Message: Conteúdo Aprovado] → END
               └─ FALSE → [Agent: Solicitação de Correções]

                         [Delay: 1 hora]

                         [volta para Analisador de Qualidade]
Configuração detalhada:1. Message Node: “Instrução Inicial”
Type: Texto
Content: Iniciando análise de qualidade do conteúdo recebido
2. Agent Node: “Analisador de Qualidade”
Agent: content_quality_analyzer
Input: conteúdo e critérios de qualidade
Output Key: quality_analysis
3. Condition Node: “Score >= 8.0?”
Condition Type: Previous output
Output Field: Content
Operator: contains
Comparison Value: score >= 8.0
Preview: Content contains "score": 8
4. Agent Node: “Aprovação Automática”
Agent: auto_approver
Input: conteúdo e análise de qualidade
Output Key: approval_result
5. Agent Node: “Revisão Manual”
Agent: manual_reviewer
Input: conteúdo e problemas identificados
Output Key: manual_review
6. Condition Node: “Aprovado na Revisão?”
Condition Type: Previous output
Output Field: Status
Operator: is equal to
Comparison Value: approved
Preview: Status is equal to "approved"
7. Delay Node: “1 hora”
Delay Value: 1
Time Unit: Horas
Description: Aguardar antes de nova análise

2. Workflow de Análise de Leads

Objetivo: Processar leads com análise inteligente e roteamento automáticoFluxo do workflow:
START

[Agent: Enriquecedor de Dados]

[Agent: Pontuador de Leads]

[Condition: Score > 70?]
  ├─ TRUE → [Condition: Score > 90?]
  │           ├─ TRUE → [Agent: Roteador VIP] → [Delay: 5 min] → [Agent: Notificador] → END
  │           └─ FALSE → [Agent: Roteador Normal] → [Delay: 30 min] → [Agent: Notificador] → END
  └─ FALSE → [Message: Lead Descartado] → END
Nodes principais:1. Agent Node: “Enriquecedor de Dados”
  • Enriquece dados do lead com informações públicas
  • Output: dados_enriquecidos
2. Agent Node: “Pontuador de Leads”
  • Calcula score baseado em critérios
  • Input: dados_enriquecidos
  • Output: lead_score
3. Condition Node: “Score > 70?”
  • Filtra leads de baixa qualidade
  • Condition: score maior que 70
4. Condition Node: “Score > 90?”
  • Identifica leads VIP
  • Condition: score maior que 90
5. Agent Nodes: “Roteadores”
  • Roteador VIP: Para vendedores sênior
  • Roteador Normal: Para vendedores padrão
6. Delay Nodes: “Priorização”
  • VIP: 5 minutos (alta prioridade)
  • Normal: 30 minutos (prioridade padrão)

3. Workflow de Processamento de Documentos

Objetivo: Processar documentos com validação e aprovação automáticaFluxo complexo com loops:
START

[Agent: Extrator de Dados]

[Agent: Validador de Formato]

[Condition: Formato Válido?]
  ├─ FALSE → [Message: Erro de Formato] → END
  └─ TRUE → [Agent: Analisador de Conteúdo]

            [Condition: Conteúdo Completo?]
              ├─ FALSE → [Agent: Solicitador de Dados]
              │            ↓
              │          [Delay: Aguardar Resposta]
              │            ↓
              │          [Condition: Dados Recebidos?]
              │            ├─ TRUE → [volta para Analisador de Conteúdo]
              │            └─ FALSE → [Message: Timeout] → END
              └─ TRUE → [Agent: Verificador de Compliance]

                        [Condition: Compliance OK?]
                          ├─ TRUE → [Agent: Aprovador Final] → [Message: Documento Aprovado] → END
                          └─ FALSE → [Agent: Rejeitador] → [Message: Documento Rejeitado] → END

Funcionalidades de Teste

Teste Individual de Agentes

Teste de agentes individuais dentro do workflow:Como usar:
  1. Clique em qualquer Agent Node no workflow
  2. Selecione “Test Agent” no menu contextual
  3. Configure inputs de teste
  4. Execute teste isolado
  5. Analise outputs e performance
Benefícios:
  • Validação rápida de agentes individuais
  • Debug de problemas específicos
  • Teste de diferentes inputs
  • Verificação de outputs esperados
Interface de teste:
Agent Test: content_quality_analyzer

Input:
{
  "content": "Texto de exemplo para análise...",
  "criteria": ["grammar", "clarity", "engagement"]
}

Expected Output:
{
  "score": 8.5,
  "issues": [],
  "recommendations": [...]
}

Teste Completo do Workflow

Teste do workflow completo com dados reais:Como usar:
  1. Clique em “Test Workflow” na barra superior
  2. Configure inputs iniciais do workflow
  3. Execute teste completo
  4. Acompanhe execução em tempo real
  5. Analise resultados finais
Funcionalidades do teste:
  • Execução passo a passo: Veja cada node sendo executado
  • Visualização de dados: Acompanhe dados fluindo entre nodes
  • Breakpoints: Pause execução em nodes específicos
  • Logs detalhados: Registros completos de execução
  • Performance metrics: Tempo de execução por node
Interface de teste:
Workflow Test: pipeline_aprovacao_conteudo

Status: Running
Current Node: Agent - Analisador de Qualidade
Progress: 3/8 nodes completed

Execution Log:
├── [14:32:15] Start - Workflow iniciado
├── [14:32:16] Message - Instrução enviada
├── [14:32:17] Agent - Análise iniciada
└── [14:32:20] Agent - Análise em progresso...

Data Flow:
├── input_content: "Artigo sobre IA..."
├── start_message: "Iniciando análise..."
└── quality_analysis: { score: 7.5, ... }
Interface de teste do workflow:Testando Workflow Completo

Monitoramento e Debugging

Dashboard de Execução

Acompanhamento visual da execução:Visualização no React Flow:
  • Nodes ativos destacados em verde
  • Nodes completados marcados com ✓
  • Nodes com erro marcados com ✗
  • Fluxo de dados visualizado nas conexões
Métricas por node:
Node Performance:
├── Agent: Analisador de Qualidade
│   ├── Executions: 1,247
│   ├── Avg Duration: 3.2s
│   ├── Success Rate: 98.5%
│   └── Last Error: 2 days ago
├── Condition: Score >= 8.0
│   ├── True Path: 65% (812 times)
│   ├── False Path: 35% (435 times)
│   └── Avg Evaluation: 0.1s
└── Delay: 1 hora
    ├── Skipped: 15% (delays pulados)
    ├── Executed: 85%
    └── Avg Delay: 3600s
Alertas e notificações:
  • Falhas de execução
  • Timeouts de nodes
  • Loops infinitos detectados
  • Performance degradada
Ferramentas de debug específicas:1. Breakpoints Visuais
- Clique em qualquer node para adicionar breakpoint
- Execução pausa antes do node
- Inspecione estado atual do contexto
- Continue execução passo a passo
2. Data Inspector
- Visualize dados em cada ponto do workflow
- Histórico de transformações
- Validação de tipos de dados
- Detecção de dados corrompidos
3. Execution Replay
- Replay de execuções anteriores
- Comparação entre execuções
- Identificação de regressões
- Análise de padrões de falha
4. Performance Profiler
- Identificação de gargalos
- Análise de uso de recursos
- Otimização de nodes lentos
- Sugestões de melhoria

Configurações Avançadas

Otimização de Performance

Estratégias para workflows eficientes:Paralelização Inteligente:
- Identifique nodes que podem executar em paralelo
- Configure parallel branches no workflow
- Use merge nodes para sincronizar resultados
Caching de Resultados:
- Cache outputs de nodes determinísticos
- Configure TTL baseado na natureza dos dados
- Invalide cache quando necessário
Resource Management:
- Limite recursos por node
- Configure pools de conexão
- Gerencie memória entre execuções
Configurações para workflows robustos:Error Handling:
- Configure retry policies por node
- Implemente fallback paths
- Use circuit breakers para nodes externos
State Management:
- Persista estado entre execuções
- Configure checkpoints automáticos
- Implemente recovery mechanisms
Monitoring e Alerting:
- Configure alertas para falhas
- Monitore SLAs de execução
- Implemente health checks
Campo Output Key na interface:O Output Key permite que o Workflow Agent salve o resultado final do workflow complexo em uma variável específica no estado compartilhado, tornando-o disponível para outros agentes ou processos.Como funciona:
  • Configure o campo Output Key com um nome descritivo
  • O resultado final do workflow (último node executado) será salvo automaticamente
  • Outros agentes podem acessar usando placeholders {{output_key_name}}
  • Funciona em workflows aninhados, loops e sistemas multi-agente
Exemplos de configuração:
Output Key: "aprovacao_conteudo_resultado"
→ Salva resultado final em state.aprovacao_conteudo_resultado

Output Key: "processamento_lead_completo"
→ Salva resultado final em state.processamento_lead_completo

Output Key: "pipeline_dados_resultado"
→ Salva resultado final em state.pipeline_dados_resultado
Resultado do workflow:
{
  "workflow_summary": {
    "total_nodes": 12,
    "executed_nodes": 10,
    "skipped_nodes": 2,
    "execution_time": "2m 15s",
    "final_status": "completed"
  },
  "final_result": {
    "decision": "approved",
    "confidence": 0.95,
    "details": {...}
  },
  "execution_path": [
    "start_node",
    "validation_node", 
    "analysis_node",
    "decision_node",
    "end_node"
  ]
}
Uso em outros agentes:
# Nas instruções de agentes subsequentes:
"Analise o pedido: {{user_input}} e use o resultado da aprovação: {{aprovacao_conteudo_resultado}}"
"Baseado no processamento: {{processamento_lead_completo}}"
"Analise os dados processados: {{pipeline_dados_resultado}}"
Boas práticas:
  • Use snake_case: workflow_resultado, processo_completo
  • Seja específico: aprovacao_credito_workflow em vez de workflow
  • Documente estrutura do resultado final
  • Considere incluir metadados de execução (path, timing, status)
  • Use nomes que reflitam o processo de negócio
  • Configure o último node para produzir resultado estruturado

Melhores Práticas

Princípios para workflows eficazes:
  • Modularidade: Divida workflows complexos em sub-workflows
  • Idempotência: Garanta que re-execuções sejam seguras
  • Observabilidade: Adicione logging e monitoramento adequados
  • Error handling: Trate falhas graciosamente
  • Performance: Otimize caminhos críticos
Práticas para equipes:
  • Documentação: Documente propósito de cada node
  • Versionamento: Use controle de versão para workflows
  • Testing: Implemente testes automatizados
  • Code review: Revise workflows antes de produção
  • Monitoring: Monitore performance e confiabilidade

Casos de Uso Comuns

Aprovação de Conteúdo

Workflows de Qualidade:
  • Análise automática de qualidade
  • Aprovação condicional
  • Loops de correção

Processamento de Leads

Qualificação Inteligente:
  • Enriquecimento de dados
  • Scoring automático
  • Roteamento inteligente

Automação de Processos

Business Process Automation:
  • Workflows de aprovação
  • Processamento de documentos
  • Integração de sistemas

Análise de Dados

Pipelines de Dados:
  • ETL complexos
  • Análise multi-etapa
  • Relatórios automáticos

Próximos Passos


O Workflow Agent é a ferramenta mais poderosa para criar automações complexas. Use-o quando precisar de controle granular sobre cada etapa do processo e lógica de negócio sofisticada com múltiplas condições e caminhos de execução.
I