Conceitos Básicos
Esta página introduz os conceitos fundamentais para trabalhar com o Lumina Flow Builder.
Estrutura de um Flow
Um flow é composto por nós (nodes) conectados por arestas (edges). Os dados fluem de um nó para outro, sendo processados e transformados ao longo do caminho.
Nós (Nodes)
Os nós são os blocos de construção do seu flow. Cada nó representa uma ação, decisão ou transformação.
Tipos de Nós
- Trigger Nodes (Gatilhos)
- Iniciam a execução do flow
- Exemplos: Webhook, Schedule, Manual Trigger
-
Todo flow deve ter pelo menos um trigger
-
Action Nodes (Ações)
- Executam operações específicas
- Exemplos: HTTP Request, Send Email, Database Query
-
Podem ter múltiplas saídas
-
Logic Nodes (Lógica)
- Controlam o fluxo de execução
- Exemplos: If/Else, Switch, Loop
-
Permitem decisões e ramificações
-
Data Nodes (Dados)
- Processam e transformam dados
- Exemplos: Transform, Aggregate, Filter
- Manipulam variáveis e estruturas
Arestas (Edges)
As arestas conectam os nós e definem a ordem de execução. O fluxo de dados segue essas conexões.
[Nó A] ────→ [Nó B] ────→ [Nó C]
Ciclo de Vida de uma Execução
1. Trigger
O flow é iniciado por um evento (webhook, schedule, etc.)
2. Execução Sequencial
Os nós são executados na ordem definida pelas conexões
3. Processamento de Dados
Cada nó recebe dados do nó anterior, processa e passa adiante
4. Conclusão
O flow termina quando todos os caminhos são completados
Exemplo de Fluxo
Trigger: Webhook Recebido
↓
Action: Validar JSON
↓
Logic: Se válido?
├─ Sim → Salvar no Banco → Enviar Confirmação
└─ Não → Registrar Erro → Enviar Alerta
Contexto de Execução
Cada execução possui um contexto que armazena:
- Variables: Variáveis globais do flow
- Node Outputs: Saídas de cada nó executado
- Trigger Data: Dados que iniciaram o flow
- Metadata: Informações sobre a execução
Acessando Dados do Contexto
// Acessar output do nó anterior
{{ $node.output }}
// Acessar output de nó específico
{{ $nodes['nome-do-no'].output }}
// Acessar dados do trigger
{{ $trigger.data }}
// Acessar variável global
{{ $vars.minhaVariavel }}
Configuração de Nós
Cada nó possui configurações específicas:
Configurações Básicas
- Nome: Identificador único do nó
- Descrição: Documentação sobre o propósito do nó
- Retry: Número de tentativas em caso de falha
- Timeout: Tempo máximo de execução
Configurações Específicas
Dependem do tipo de nó. Exemplos:
HTTP Request Node:
{
"method": "POST",
"url": "https://api.exemplo.com/endpoint",
"headers": {
"Authorization": "Bearer {{ $vars.apiToken }}"
},
"body": {
"data": "{{ $node.output }}"
}
}
If/Else Node:
{
"condition": "{{ $node.output.status === 'success' }}",
"trueOutput": "continue",
"falseOutput": "error"
}
Tratamento de Erros
Error Handling
Configure como o flow deve reagir a erros:
- Stop on Error: Para toda execução
- Continue on Error: Continua e registra o erro
- Retry: Tenta novamente (configurável)
- Fallback: Executa caminho alternativo
Exemplo de Configuração
{
"errorHandling": {
"strategy": "retry",
"maxRetries": 3,
"retryDelay": 1000,
"fallbackNode": "error-handler"
}
}
Boas Práticas
1. Nomenclatura Clara
Use nomes descritivos para nós e variáveis:
✓ "validar-dados-usuario"
✗ "no1"
2. Comentários e Documentação
Adicione descrições aos nós complexos
3. Modularização
Divida flows complexos em sub-flows reutilizáveis
4. Validação de Dados
Sempre valide dados de entrada antes de processar
5. Logging Adequado
Use nós de log em pontos críticos do flow
6. Tratamento de Erros
Configure error handling em nós que fazem chamadas externas
Debugging
Modo Debug
Ative o modo debug para visualizar: - Dados que fluem entre nós - Tempo de execução de cada nó - Erros e warnings detalhados
Logs de Execução
Acesse os logs através do painel:
Flow → Executions → Selecionar Execução → View Logs
Teste Manual
Use o Manual Trigger para testar flows:
{
"test": true,
"data": {
"userId": "123",
"action": "test"
}
}
Limitações e Quotas
- Tempo máximo de execução: 5 minutos por flow
- Tamanho máximo de payload: 10 MB
- Número máximo de nós: 100 por flow
- Execuções simultâneas: Conforme seu plano
Próximos Passos
- Variáveis: Aprenda a trabalhar com variáveis
- Expressões: Domine expressões avançadas
- Primeiro Flow: Crie seu primeiro flow