Lógica e dados nos fluxos: decidir, repetir e juntar listas sem código
Os nós de lógica e de dados do módulo Fluxos do CollaborAI Enterprise: Se, Escolher, Filtrar, Loop, Unir e os nós que tratam listas. Com um exemplo completo de duas listas de clientes unidas e sem repetidos.
Entre o gatilho e a entrega, quase todo fluxo precisa de três coisas: decidir um caminho, repetir um passo para cada item e arrumar os dados que chegam bagunçados. No módulo Fluxos do CollaborAI Enterprise, isso é trabalho das famílias Lógica e Dados, e nenhuma das duas pede código.
Se o módulo é novidade para você, a visão geral explica o básico.
Primeiro, a ideia de item
Os dados andam pelas setas como uma lista de itens. Uma consulta que devolve 20 pedidos gera 20 itens. O nó seguinte recebe os 20 e, na maioria dos casos, trabalha em cada um: um nó Se testa os 20, um nó de e-mail manda 20 mensagens.
Entender isso evita a surpresa mais comum de quem começa: ligar um nó de envio depois de uma lista e disparar uma mensagem por linha. Quando você quer um resultado só, junte os itens antes, com o nó Agregar itens.
Os nós de lógica
| Nó | O que faz | Exemplo |
|---|---|---|
| Se | Divide em dois caminhos, verdadeiro e falso | Pedido acima de R$ 5.000 vai para aprovação |
| Escolher | Divide em vários caminhos, um por regra, mais um de sobra | Chamado vai para financeiro, suporte ou comercial |
| Filtrar | Deixa passar só os itens que atendem à condição | Só os clientes com fatura vencida |
| Unir | Espera dois caminhos e junta os itens | Lista do CRM mais lista da planilha |
| Loop sobre itens | Processa os itens em lotes, repetindo os passos | Resumir 200 e-mails, de 5 em 5 |
| Aguardar | Pausa por um tempo ou até uma data, por até 24 horas | Cobrar a resposta no dia seguinte |
| Parar execução | Encerra o fluxo, com sucesso ou com erro | Parar com alerta quando o dado veio inválido |
As condições de Se, Filtrar e Escolher são montadas na tela: o valor, o tipo (texto, número, data, lista), o operador e o valor de comparação. Dá para combinar várias com E ou OU e agrupar condições.
Os nós de dados
| Nó | O que faz |
|---|---|
| Editar campos (Set) | Cria, altera ou calcula campos |
| Separar lista em itens | Transforma uma lista dentro de um item em vários itens |
| Agregar itens | Faz o contrário: junta vários itens em um só |
| Ordenar e Limitar | Ordena por um campo e fica com os primeiros |
| Remover duplicados | Tira os repetidos, por todos os campos ou só por alguns |
| Renomear campos | Troca o nome dos campos |
| Interpretar JSON, XML e Extrair de HTML | Leem o conteúdo que veio como texto |
| Data e hora | Formata, soma e compara datas |
Exemplo: duas listas, uma base limpa
Um caso que todo time comercial conhece: a lista de clientes do CRM e a lista da planilha de eventos têm gente repetida, e os nomes das colunas não batem. O fluxo abaixo resolve em nove nós.
- Dois ramos saem do gatilho. Uma saída pode ter mais de uma seta. Cada ramo carrega uma lista.
- Separar lista em itens transforma cada lista em três itens, um por cliente.
- Unir, no modo Anexar, espera os dois ramos e empilha os itens: seis ao todo.
- Remover duplicados, comparando só o campo
email, mantém a primeira ocorrência de cada um. Sobram quatro. - Renomear campos troca
nomeporclienteeemailporcontato. - Agregar itens junta tudo em um único item, pronto para virar uma mensagem ou uma linha.
Abrindo o nó Remover repetidos depois da execução, a tela mostra o que entrou, o parâmetro e o que saiu:
O nó Unir tem outros modos além de anexar. Combinar por campo funciona como um cruzamento de tabelas: junta o item de uma lista com o item da outra que tem o mesmo valor em um campo, como o CPF ou o código do cliente. É assim que você enriquece uma lista de pedidos com os dados do cadastro.
Loop: um pouco de cada vez
Alguns passos são lentos ou caros, como chamar um modelo de IA ou uma API com limite de uso. O nó Loop sobre itens processa a lista em lotes do tamanho que você definir.
O nó tem duas saídas:
- loop: por onde sai o lote da vez. Ligue aqui os passos que se repetem.
- concluído: por onde saem todos os itens processados, quando a lista acaba.
O detalhe que fecha o desenho: ligue o último passo do loop de volta à entrada do nó Loop. É essa seta de retorno que faz o nó buscar o próximo lote.
Expressões: os dados dentro dos campos
Todo campo de um nó aceita dois modos. Em Fixo, você digita o valor. Em Expressão, o valor é
calculado na hora, a partir dos dados. A expressão fica entre {{ }}.
| Quero | Escrevo |
|---|---|
| Um campo do item que está chegando | {{ $json.cliente }} |
| Um campo vindo de outro nó | {{ $('Buscar pedidos').item.json.total }} |
| Um texto com dados no meio | Olá {{ $json.cliente }}, seu total é {{ $json.total }} |
| Uma conta | {{ $json.valor * 1.1 }} |
| A data de hoje | {{ $today }} |
Você raramente digita isso. Arraste o campo da coluna Entrada para o parâmetro, e a expressão aparece pronta. Enquanto você edita, o editor mostra uma prévia com os dados da última execução.
Como $('Nome do nó') usa o nome do nó, vale dar nomes claros: “Buscar pedidos” diz mais que
“Requisição HTTP 2”.
Três armadilhas comuns
Uma mensagem por item. Se a ideia era um resumo só, faltou o Agregar itens antes do envio.
Loop sem retorno. Sem a seta de volta, o loop processa o primeiro lote e termina.
Unir com um caminho vazio. O nó Unir espera os dois caminhos ligados a ele. Se nada seguir por um deles, por causa de um Se ou de um Filtrar, o nó trata aquele caminho como vazio e continua só com o outro. Quando o resultado vier menor que o esperado, confira a contagem nas setas: ela mostra onde os itens pararam.
Com Se, Loop, Unir e meia dúzia de nós de dados, dá para montar a maior parte das rotinas de escritório. O próximo artigo coloca IA no meio desse caminho.