Construindo Fluxos
Visão geral
O ZappFlux Flow Editor é um construtor visual de arrastar e soltar que permite criar interações complexas e multicanais de chatbot e sequências de automação sem escrever código. Os fluxos são compostos de Blocos — unidades individuais de lógica, conteúdo ou ação — conectados entre si para formar um caminho de conversa. Arquitetura:- Chatbots com tecnologia de IA para WhatsApp, Web, Instagram e muito mais
- Formulários de captura de leads com ramificação condicional
- Sistemas de triagem de suporte ao cliente com transferência humana
- Fluxos de trabalho de reserva e agendamento de consultas
- Assistentes de comércio eletrônico com cobrança de pagamentos
- Sequências de integração e pesquisas interativas
Começando
Criando um novo fluxo
- Navigate to Dashboard → Tools → ZappFlux → Flows
- Click New Flow (or the + button)
- Give your flow a name
- Choose a starting template or start from blank
- The flow editor opens automatically
Navegação na tela
- Pan: Clique e arraste no espaço vazio da tela
- Zoom: roda de rolagem ou gesto de pinça (trackpad)
- Selecionar bloco: clique em um bloco
- Mover Bloco: Clique e arraste um bloco para reposicionar
- Conectar blocos: arraste da alça de saída (lado direito) de um bloco para a alça de entrada (lado esquerdo) de outro
- Excluir conexão: Clique na seta entre os blocos e pressione Excluir
Tipos de bloco
Os blocos são organizados em quatro categorias: Bolhas, Entradas, Lógica e Integrações.💬 Bolhas — Envio de conteúdo aos usuários
Os blocos de bolhas enviam conteúdo ao usuário. O fluxo não pausa nesses blocos — eles são executados e passam imediatamente para o próximo bloco.Texto
Envia uma mensagem de texto simples ou formatada ao usuário. Propriedades:- Conteúdo da mensagem (suporta formatação Markdown)
- Interpolação variável usando
{{variable_name}} - Atraso de digitação opcional (simula tempo de resposta realista)
Imagem
Exibe uma imagem para o usuário na conversa. Propriedades:- Fonte da imagem: faça upload de um arquivo (PNG, JPG, GIF, WebP) ou insira um URL público
- Texto alternativo para acessibilidade
- Legenda opcional abaixo da imagem
Vídeo
Incorpora um vídeo no fluxo da conversa. Propriedades:- Fontes suportadas: YouTube, Vimeo ou URL direto do arquivo de vídeo
- Opção de reprodução automática
- Título/legenda do vídeo
Áudio
Reproduz uma mensagem de áudio ou clipe na conversa. Propriedades:- Fonte de áudio: carregue um arquivo (MP3, WAV, OGG) ou insira um URL
- Exibido como um widget de reprodutor de áudio padrão
Incorporar
Incorpora conteúdo da web externo usando um iframe diretamente dentro do fluxo. Propriedades:- URL to embed (must support iframe embedding)
- Dimensions (width and height)
- Útil para incorporar calendários, mapas ou páginas de produtos
📥 Entradas — Coletando informações dos usuários
Os blocos de entrada pausam o fluxo e aguardam a resposta do usuário antes de continuar. A resposta é armazenada automaticamente em uma variável para uso posterior no fluxo.Entrada de texto
Captura texto de formato livre do usuário. Propriedades:- Texto de espaço reservado mostrado no campo de entrada
- Variável para armazenar a resposta
- Limite de caracteres opcional
- Etiqueta do botão (“Enviar”, “Enviar” ou texto personalizado)
Número
Captura um valor numérico com validação opcional. Propriedades:- Restrições de valor mínimo e máximo
- Mensagem de erro mostrada se a validação falhar
- Variável para armazenar a resposta
- Validação de formato de e-mail integrada (rejeita entradas malformadas)
- Mensagem de erro personalizada para entrada inválida
- Variável para armazenar a resposta
Telefone
Captura um número de telefone com seleção de código de país. Propriedades:- Seletor de código de país (opcional — pode ser bloqueado para um país específico)
- Validação de formato
- Variável para armazenar a resposta
Data/Hora
Exibe um calendário ou seletor de horário para o usuário selecionar uma data e/ou hora. Propriedades:- Modo: somente data, somente hora ou data + hora
- Restrições de data mínima e máxima
- Variável para armazenar o valor selecionado
Botões
Apresenta um conjunto de opções predefinidas para o usuário escolher. Este é um dos blocos de entrada mais comumente usados para navegação de menus e árvores de decisão. Propriedades:- Até 10 opções de botões
- Cada botão possui um rótulo e um valor opcional (pode ser diferente do rótulo de exibição)
- Modo de escolha múltipla vs. única
- Variável para armazenar a(s) opção(ões) selecionada(s)
- Mantenha os rótulos dos botões curtos (menos de 40 caracteres) para renderização consistente em todos os canais
- Use botões em vez de entradas de texto livre sempre que possível para melhorar a qualidade dos dados e reduzir respostas ambíguas
Escolha de imagem
Uma versão visual dos botões – os usuários selecionam opções baseadas em imagens. Propriedades:- Cada opção possui uma imagem (upload ou URL) e um rótulo
- Seleção única ou múltipla
- Variável para armazenar a(s) seleção(ões)
Carregamento de arquivo
Permite ao usuário fazer upload de um arquivo dentro da conversa. Propriedades:- Tipos de arquivos aceitos (PDF, imagens, documentos, etc.)
- Limite máximo de tamanho de arquivo
- Variável para armazenar a URL do arquivo enviado
Pagamento
Recebe o pagamento do usuário sem sair da conversa. Processadores suportados:- Stripe — Cartões de crédito/débito, Apple Pay, Google Pay
- PayPal — saldo do PayPal, contas bancárias vinculadas, cartões
- Valor (fixo ou retirado de uma variável)
- Moeda
- Nome/descrição do item
- Variável para armazenar o status do pagamento e ID da transação
Os bloqueios de pagamento exigem que as credenciais do Stripe ou PayPal sejam configuradas em Configurações de fluxo → Integrações antes do uso.
Avaliação
Coleta uma classificação do usuário (classificação por estrelas ou escala numérica). Propriedades:- Tipo de classificação: Estrelas (1–5) ou Número (1–10)
- Etiqueta opcional por valor de classificação
- Variável para armazenar a classificação
⚡ Lógica — Controlando o comportamento do fluxo
Os blocos lógicos controlam como o fluxo executa, ramifica e processa dados. Eles não enviam conteúdo visível ao usuário.Definir variável
Cria ou atualiza um valor de variável sem entrada do usuário. Propriedades:- Nome da variável a ser definida
- Valor: um valor estático, outra variável ou uma expressão JavaScript
- Inicializando variáveis de contador (
set count = 0) - Formatação de valores (
set full_name = "{{first_name}} {{last_name}}") - Armazenar carimbos de data/hora ou valores calculados
Doença
Ramifica o fluxo com base em uma comparação lógica — o equivalente ZappFlux de uma instrução If/Else. Propriedades:- Lado esquerdo: uma variável
- Operador: igual, diferente, contém, maior que, menor que, está vazio, não está vazio
- Lado direito: um valor ou outra variável
- Múltiplas condições podem ser encadeadas com AND/OR
Redirecionar
Envia o usuário para uma URL externa, encerrando a sessão de fluxo. Propriedades:- URL de destino (estático ou criado a partir de variáveis)
- Abrir em: mesma aba ou nova aba
- Atraso opcional antes do redirecionamento
Roteiro
Executa JavaScript personalizado dentro do contexto do fluxo. Propriedades:- Bloco de código JavaScript personalizado
- Acesso a todas as variáveis de fluxo via
variables.variable_name - Pode definir variáveis usando
setVariable('variable_name', value)
- Formatação ou análise de string complexa
- Cálculos matemáticos além de expressões simples
- Manipulação e formatação de datas
- Chamando APIs do navegador (para fluxos da web)
Espere
Introduz um atraso antes que o fluxo prossiga para o próximo bloco. Propriedades:- Duração: segundos, minutos ou horas
- Mensagem opcional exibida ao usuário durante a espera
Pular
Teleporta a execução do fluxo para outro bloco dentro do mesmo fluxo ou para o início de um fluxo diferente (subfluxo). Propriedades:- Destino: um ID de bloco específico dentro do fluxo atual ou um outro fluxo inteiro
- Voltando a um menu após a conclusão de um caminho
- Vincular a um subfluxo reutilizável (por exemplo, um fluxo de perguntas frequentes compartilhado)
- Criação de loops circulares para lógica de nova tentativa
Webhook
Faz uma solicitação HTTP para uma API ou serviço externo. Propriedades:- Método: GET, POST, PUT, PATCH, DELETE
- URL: endpoint para chamar (suporta interpolação variável)
- Cabeçalhos: pares de valores-chave (por exemplo, Autorização, Tipo de conteúdo)
- Corpo: carga útil JSON (para métodos POST/PUT/PATCH)
- Mapeamento de resposta: extraia valores da resposta e armazene-os em variáveis
- Envio de dados de leads para um CRM (HubSpot, Salesforce)
- Procurando dados do usuário em seu próprio banco de dados
- Acionamento de um pedido em uma plataforma de e-commerce
- Publicação de dados em um webhook Zapier ou Make
Link de fluxo (subfluxo)
Conecta esse fluxo a outro fluxo, executando-o como um subfluxo aninhado antes de retornar. Propriedades:- Selecione o fluxo de destino em um menu suspenso
- Mapeamento de variáveis: passe variáveis do fluxo atual para o subfluxo
- Após a conclusão do subfluxo, a execução retorna para o próximo bloco no fluxo pai
🔌 Integrações — Conectores Nativos
Os blocos de integração são conectores pré-construídos para ferramentas e serviços populares. Eles abstraem a complexidade das chamadas de webhook brutas com interfaces criadas especificamente.OpenAI (ChatGPT)
Gera respostas baseadas em IA usando a API OpenAI. Propriedades:- Seleção de modelo (GPT-5.4, GPT-5.4 Mini, GPT-4o, etc.)
- Prompt do sistema (defina a personalidade e as restrições da IA)
- Mensagem do usuário: a entrada a ser enviada ao modelo (geralmente uma variável contendo a última mensagem do usuário)
- Variável de resposta: onde a resposta da IA é armazenada
- Avançado: temperatura, máximo de tokens, modo de histórico de conversas
- Passe
{{user_message}}para OpenAI e exiba a resposta em um balão de texto - Use um prompt do sistema para restringir a IA a um domínio específico (por exemplo, “Você é um agente de atendimento ao cliente da Acme Corp. Responda apenas a perguntas sobre nossos produtos.”)
- Ative o modo de histórico de conversas para manter o contexto em várias trocas
Planilhas Google
Lê ou grava em uma planilha do Planilhas Google. Propriedades:- Ação: Inserir linha, Atualizar linha, Obter linha ou Obter todas as linhas
- Seleção de planilha e planilha (da sua conta do Google conectada)
- Mapeamento de colunas: mapeie variáveis de fluxo para colunas da planilha
Requer uma conta do Google conectada em Configurações de fluxo → Integrações → Planilhas Google.
- Nome do evento
- Parâmetros personalizados (pares de valores-chave, suporta variáveis)
flow_started— quando um usuário inicia o fluxolead_captured— quando as informações de contato são coletadaspayment_completed— quando um pagamento bem-sucedido é feitohuman_requested— quando um usuário solicita um agente humano
Zapier / Make
Aciona um webhook no Zapier ou Make.com, conectando seu fluxo a milhares de aplicativos de terceiros. Propriedades:- URL do Webhook (do seu cenário Zap ou Make)
- Carga útil de dados: selecione quais variáveis enviar
Bate-papo
Transfere a conversa para um agente humano em uma caixa de entrada do Chatwoot. Propriedades:- URL da API Chatwoot e token de acesso
- Caixa de entrada para atribuir a conversa
- Atribuição de agente (opcional)
- Atributos personalizados para passar para Chatwoot
Enviar e-mail
Envia um email transacional de dentro do fluxo. Propriedades:- Do nome e endereço de e-mail
- Para endereçar (suporta variáveis)
- Linha de assunto (suporta variáveis)
- Corpo: HTML ou texto simples (suporta variáveis)
- Provedor: credenciais SMTP ou SendGrid configuradas em Configurações de fluxo
Ações ZappWay
Executa ações específicas do ecossistema ZappWay. Ações disponíveis:- Atualizar as variáveis do contato atual
- Atribuir uma conversa a um agente específico
- Adicionar ou remover tags de um contato
- Acione uma notificação na caixa de entrada do ZappWay
Variáveis
Variáveis são a memória do seu fluxo. Eles armazenam informações coletadas de usuários e dados recuperados de integrações e podem ser referenciados em qualquer lugar do seu fluxo.Usando variáveis em texto
Para inserir uma variável em qualquer campo de texto, digite{{ e selecione a variável no menu suspenso de preenchimento automático:
Tipos de variáveis
Variáveis do sistema
ZappWay preenche automaticamente um conjunto de variáveis integradas para cada sessão:Ramificação de fluxo e lógica condicional
A maioria dos fluxos do mundo real não são lineares – eles se ramificam com base nas respostas e condições do usuário.Ramificação Simples (Botões)
O padrão de ramificação mais simples: cada opção de botão se conecta a um caminho diferente.Filial Baseada em Condição
Use o bloco Condição quando a ramificação depender de valores de variáveis em vez de cliques diretos no botão.Condições aninhadas
As condições podem ser encadeadas para lidar com cenários complexos:Publicando um fluxo
As alterações feitas no editor são salvas automaticamente como rascunho, mas não ficam visíveis para os usuários finais até que você as publique. Para publicar:- Termine de editar seu fluxo
- Clique em Publicar no canto superior direito do editor
- Confirme a caixa de diálogo se solicitado
- Seu fluxo agora está ativo em seu URL público
Modo de visualização
Antes de publicar, teste seu fluxo usando o recurso integrado Visualização:- Click the Preview button (play icon) in the toolbar
- A live preview of the flow opens in a side panel or new tab
- Interact with the flow exactly as an end user would
- All blocks execute normally in preview, including integrations
O modo de visualização executa ações reais de integração (por exemplo, ele grava no Planilhas Google, envia e-mails e liga para webhooks). Se quiser testar sem acionar ações reais, desative temporariamente os blocos de integração clicando com o botão direito neles e selecionando Desativar.
Melhores práticas
1. Comece com um mapa de conversa claro Antes de abrir o editor, esboce a conversa em um papel ou quadro branco. Defina o objetivo de cada caminho, os dados que você precisa coletar e os possíveis pontos de decisão. Os fluxos construídos sem um plano tornam-se insustentáveis rapidamente. 2. Use botões em entradas de texto livre Sempre que a escolha do usuário puder ser restrita a um conjunto conhecido de opções, use Botões em vez de Entrada de Texto. Isso produz dados mais limpos, reduz erros e simplifica a lógica condicional. 3. Sempre lide com o inesperado Adicione um botão “Outro” ou “Outra coisa” a qualquer menu e use substitutos de entrada de texto para perguntas abertas. Os usuários sempre dirão algo que você não previu – certifique-se de que o fluxo lide com isso de maneira elegante. **4. Nomeie as variáveis de forma clara e consistente ** Use nomes descritivos, em letras minúsculas e separados por sublinhado:user_email e não email2 ou Email. A nomenclatura consistente facilita a manutenção dos fluxos e reduz erros na lógica condicional.
5. Teste todos os caminhos antes de ir ao ar
Use o modo de visualização para percorrer cada ramificação do seu fluxo, não apenas o caminho feliz. Teste especificamente casos extremos: entradas vazias, e-mails inválidos, respostas de texto muito longas e cliques inesperados em botões.
6. Mantenha os fluxos focados
Um único fluxo deve atingir um único objetivo (captura de leads, triagem de suporte, consulta de pedidos). Use os blocos Jump e Flow Link para modularizar fluxos complexos em subfluxos menores e reutilizáveis.
Solução de problemas
Problema: o fluxo não responde à entrada do usuário
Sintomas:- Mensagens são enviadas mas o fluxo não avança
- O bloco de entrada parece estar preso
- Verifique se o bloco de entrada tem uma variável atribuída – blocos sem uma variável de destino podem não salvar as respostas corretamente
- Verifique se a saída do bloco está conectada ao próximo bloco
- Visualize o fluxo e verifique se há erros no console do navegador
- Certifique-se de que o canal esteja conectado corretamente em Configurações → Canais
- Republicar o fluxo após fazer as correções
Problema: o bloco de condição não ramifica corretamente
Sintomas:- O fluxo sempre segue o mesmo ramo, independentemente do valor da variável
- Comportamento inesperado na lógica condicional
- Use o bloco Script antes da condição para registrar o valor da variável:
console.log(variables.your_variable) - Verifique a distinção entre maiúsculas e minúsculas — “Pro” não é igual a “pro” em uma comparação de igualdade exata; use letras minúsculas consistentemente
- Verifique se a variável está realmente sendo definida antes da execução do bloco de condição
- Verifique se há espaços em branco à esquerda ou à direita no valor da variável - use o bloco Script para cortá-lo:
setVariable('plan', variables.plan.trim())
Problema: o bloco Webhook retorna um erro
Sintomas:- O bloco Webhook mostra um indicador de erro vermelho
- Os dados de integração não estão sendo enviados ou recebidos
- Clique no bloco Webhook para visualizar a resposta no painel de propriedades – verifique o código de status HTTP e a mensagem de erro
- Verifique se o URL está correto e acessível na Internet
- Verifique se os cabeçalhos necessários (por exemplo,
Authorization: Bearer your_token) estão incluídos - Valide a estrutura do corpo JSON usando uma ferramenta como JSONLint
- Teste o endpoint do webhook de forma independente usando Postman ou curl antes de adicioná-lo ao fluxo
Problema: Bloco OpenAI não gera respostas
Sintomas:- O bloco AI parece travar ou retorna respostas vazias
- Erro “Chave de API inválida” no bloco
- Verifique se a chave da API OpenAI está salva corretamente em Configurações de fluxo → Integrações → OpenAI
- Verifique se há problemas de cobrança em sua conta OpenAI – uma cota esgotada faz com que todas as chamadas de API falhem
- Certifique-se de que o modelo selecionado no bloco esteja disponível em seu plano OpenAI
- Verifique se a variável de entrada da mensagem do usuário não está vazia quando o bloco é executado
Apoiar
Precisa de ajuda para construir fluxos? Entre em contato com o suporte ZappWay:- E-mail: support@zappway.ai
- Incluir: nome do fluxo, capturas de tela dos blocos em questão e uma descrição do comportamento esperado versus real
- Qual tipo de bloco está causando o problema
- O canal que você está testando
- Se o problema ocorre no modo de visualização, ao vivo ou em ambos
- Quaisquer mensagens de erro mostradas no bloco ou no console do navegador
- API ZappFlux completa e referência de bloco: docs.zappflux.zappway.ai
Última atualização: março de 2026 Plataforma: ZappFlux Flow Builder | Painel ZappWay

