Fluxos: visão geral do Flow Builder
O Flow Builder é o construtor visual de automações do Rishi CRM. Você arrasta blocos (chamados de nós) numa tela, conecta eles entre si, e desenha o caminho que cada cliente vai percorrer quando um evento acontece — um pedido novo, uma tag adicionada, um carrinho abandonado, qualquer coisa.
Cada fluxo pertence a um site e tem um único gatilho (ponto de partida) que define quando ele dispara.
Conceitos fundamentais
| Conceito | O que é |
|---|---|
| Fluxo | A automação salva — tem nome, status (rascunho ou ativo) e a definição completa da árvore |
| Nó | Um bloco com um tipo: Gatilho, Aguardar, Condições, Mensagem, Webhook, Cupom, Tag |
| Aresta | Conexão entre dois nós. Em Condições, a saída tem dois caminhos: Sim (true) e Não (false) |
| Gatilho | O nó inicial. Define quando o fluxo dispara. Cada fluxo tem exatamente um |
| Execução | Cada vez que o fluxo dispara pra um cliente, gera uma execução com status (running, completed, failed, paused, cancelled) |
| Variáveis | Placeholders no formato {{order.total}}, {{customer.first_name}}, etc. — preenchidas com dados reais no momento do disparo |
Como você constrói um fluxo
- Acesse CRM → Fluxos e clique em Criar Fluxo.
- Selecione o site e dê um nome ao fluxo.
- Na tela do builder, configure o gatilho clicando no nó Início:
- Escolha o tipo (Pedido novo, Carrinho abandonado, Tag adicionada, etc.)
- Defina filtros se aplicável (UUID da tag, segmento específico, etc.)
- Arraste novos nós da palette lateral pra tela.
- Conecte os nós arrastando das handles (pontos de conexão nas bordas).
- Clique em qualquer nó pra abrir o Inspector lateral e configurar os campos do nó.
- Salve. O fluxo entra como Rascunho — não dispara ainda.
- Quando estiver tudo pronto, ative o fluxo no botão superior.
Tipos de nó disponíveis
Cada tipo cobre um propósito específico. Os artigos detalhados:
- Gatilhos — todos os tipos de evento que podem iniciar um fluxo
- Aguardar — pausa o fluxo por minutos, horas ou dias
- Condições — bifurca o fluxo em Sim/Não baseado em dados do pedido ou cliente
- Mensagem — envia WhatsApp (via QR Code ou API Oficial)
- Webhook — chama URL externa com dados do fluxo
- Cupom — gera cupom de desconto único na loja
- Tag — marca/desmarca o cliente com uma tag
Existem também três nós auxiliares:
- E-mail — envia e-mail transacional usando template do site (exige SMTP configurado)
- Interromper fluxo — cancela execuções em andamento de outro fluxo pro mesmo cliente
- Fim — marca o término explícito de um ramo (apenas sinaliza intenção; não tem efeito funcional)
Variáveis: a cola que liga tudo
Quase todo nó suporta variáveis no formato {{caminho.do.dado}}. Você usa elas pra personalizar mensagens, calcular cupons, montar payloads de webhook.
Exemplos:
Olá {{customer.first_name}}, seu pedido #{{order.external_id}} de {{order.total}} foi confirmado!
Cupom de boas-vindas: {{coupon_code}}
O Inspector mostra um painel Variáveis disponíveis aqui quando você seleciona um nó. Ele lista as variáveis em duas categorias:
- Sempre — disponíveis em todos os caminhos que chegam até esse nó
- Às vezes — dependem do caminho (ex:
{{coupon_code}}só existe se o nó Cupom rodou antes)
Clicar em uma variável copia {{var}} pro clipboard.
{{coupon_code}} só existe depois do nó Cupom. Se você quer enviar uma mensagem com o código, o nó Mensagem tem que vir depois do nó Cupom na árvore.
Variáveis legacy
Por compatibilidade com fluxos antigos, alguns aliases continuam funcionando:
| Antigo | Novo |
|---|---|
{{order_id}} |
{{order.external_id}} |
{{order_total}} |
{{order.total}} |
{{customer_name}} |
{{order.first_name}} |
{{customer_email}} |
{{order.email}} |
Use os novos em fluxos novos.
Como um fluxo é executado
Quando o evento acontece (ex: pedido criado), o ciclo é:
- Disparo — um listener específico (
StartAutomationFlowsListener,StartTagAutomationFlowsListener, etc.) é acionado. - Eligibilidade —
StartFlowExecutionconfere quais fluxos ativos têm o gatilho correspondente e atendem os filtros (ex: tag específica). - Cria execução — uma
FlowExecutioné criada com statusrunninge despachaExecuteFlowJobna filaflow. - Engine — o
FlowEnginepercorre os nós a partir do gatilho. Cada nó vira umFlowExecutionStep. - Processamento —
ProcessFlowStepJobexecuta cada nó (na filaflowpara Aguardar/Condição, e na filaactionspras outras ações). - Continuação — após cada nó,
moveToNextStep()decide qual aresta seguir. - Fim — quando chega no fim da árvore, a execução fica
completed. Em erro, ficafailed.
Tudo é assíncrono em fila. O fluxo nunca bloqueia outras execuções — cada delay vira um job agendado.
Estados do fluxo
| Status | O que acontece |
|---|---|
| Rascunho | Você está editando. O fluxo não dispara |
| Ativo | Disparado normalmente em todos os eventos correspondentes |
| Ativo · Fechada | Quem já entrou segue até o fim; ninguém novo entra |
Desativar pausa as execuções em andamento. Elas retomam de onde pararam quando você ativa o fluxo de novo.
Fechar para novas entradas
Quer trocar de régua sem cortar quem já está no meio dela? Feche a automação para novas entradas.
Uma automação fechada continua funcionando para quem já entrou: mensagens, esperas e respostas seguem até o fim, com o texto e os prazos de quando a pessoa entrou. Só que ninguém novo entra. Quem chega depois de fechar não aparece nas execuções nem nos relatórios da automação.
Exemplo: na Black Friday, o cashback sobe de 10% para 20% e a validade, de 1 para 2 meses.
- Crie a régua da Black Friday e ative.
- Feche a régua normal. Quem comprou antes continua recebendo os lembretes dos 10%.
- Quando a Black Friday acabar, reabra a régua normal e feche a da Black Friday. Quem comprou na Black Friday continua recebendo os lembretes dos 20%.
Para fechar, abra o menu ⋯ da automação na lista e escolha Fechar para novas entradas. O mesmo botão fica no editor e na página de execuções. A automação ganha o selo Fechada. Para voltar a receber gente nova, use Reabrir para novas entradas.
Fechar não é pausar. Desativar congela também quem já está dentro: as mensagens param até você ativar de novo. Fechar só impede novas entradas.
Se um cliente estiver nas duas réguas e você quiser tirá-lo da antiga, use o nó Interromper fluxo na régua nova.
Estados de execução
| Status | Significado |
|---|---|
| Running | Em execução |
| Completed | Terminou com sucesso |
| Failed | Falhou em algum nó |
| Paused | Pausada (geralmente porque o fluxo virou rascunho) |
| Cancelled | Cancelada via nó Interromper fluxo |
Deduplicação: cliente entra uma vez por fluxo
Por padrão, cada cliente entra no fluxo apenas uma vez — não importa quantas vezes o evento aconteça. Isso vale pra gatilhos como Tag adicionada e Segmento.
A exceção são os gatilhos de pedido (Novo pedido, Pedido pago, etc.): cada novo pedido dispara o fluxo, mesmo que seja do mesmo cliente — o que faz sentido, já que cada pedido é um evento separado.
Criando fluxo com IA
Quer começar mais rápido? Use o assistente de IA:
- Na lista de fluxos, clique em Criar com IA.
- Descreva o que você quer em linguagem natural ("quero mandar mensagem 30 minutos após carrinho abandonado, depois 3 horas com cupom de 10%, e cancelar se a pessoa pagar").
- O agente gera a definição JSON do fluxo.
- Revise no builder visual e ajuste antes de ativar.
Templates prontos
A galeria de templates inclui fluxos já desenhados pra cenários comuns:
- Carrinho Abandonado (3 toques: 30min, 3.5h com verificação de pedido recente, fechamento com cupom de 10%)
- Outros vão sendo adicionados — confira a galeria ao criar fluxo novo.
Próximos passos
- Comece pelo artigo de Gatilhos pra entender quando cada tipo de evento dispara.
- Cada nó tem seu próprio artigo detalhado em Fluxos (Flow Builder).