Workflow Agent
Construa workflows complexos com interface visual usando LangGraph e React Flow para orquestração avançada de agentes
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 workflow
Configuraçõ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
Formulário de configuração:
2. Message Node
Função: Envia mensagens diretas como agente no fluxo, ideal para controle de etapas
Configuraçõ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
Formulário de configuração:
3. Condition Node
Função: Verifica output do node anterior e direciona execução baseado em condições
Condition 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:
- Selecione “Previous output” como Condition Type
- Escolha o Output Field (Content ou Status)
- Selecione o Operator apropriado
- Digite o Comparison Value
- Verifique o Preview da condição
- Configure os caminhos True/False conectando as saídas
Formulário de configuração:
Dialog de adição de condição:
4. Delay Node
Função: Adiciona delays simples no workflow para controle de timing
Configuraçõ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
Formulário de configuração:
Criando um Workflow Agent
Passo a Passo na Plataforma
- Na tela principal do Evo AI, clique em “New Agent”
- No campo “Type”, selecione “Workflow Agent”
- Você verá a interface visual do React Flow
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 entradas
Configuração: Clique duplo em qualquer node para configurar
Menu de Content 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ções
Fluxo 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ático
Fluxo 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ática
Fluxo 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:
- Clique em qualquer Agent Node no workflow
- Selecione “Test Agent” no menu contextual
- Configure inputs de teste
- Execute teste isolado
- 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:
- Clique em “Test Workflow” na barra superior
- Configure inputs iniciais do workflow
- Execute teste completo
- Acompanhe execução em tempo real
- 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:
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 deworkflow
- 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
Sequential Agent
Compare com workflows sequenciais simples
Parallel Agent
Entenda execução paralela básica
Loop Agent
Explore loops iterativos simples
A2A Agent
Integre agentes externos em workflows
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.
Was this page helpful?
- Visão Geral
- Características Principais
- Tipos de Nodes
- 1. Agent Node
- 2. Message Node
- 3. Condition Node
- 4. Delay Node
- Criando um Workflow Agent
- Passo a Passo na Plataforma
- Exemplos Práticos
- 1. Pipeline de Aprovação de Conteúdo
- 2. Workflow de Análise de Leads
- 3. Workflow de Processamento de Documentos
- Funcionalidades de Teste
- Teste Individual de Agentes
- Teste Completo do Workflow
- Monitoramento e Debugging
- Dashboard de Execução
- Configurações Avançadas
- Otimização de Performance
- Melhores Práticas
- Casos de Uso Comuns
- Próximos Passos