Fluxos
Um fluxo é um modelo conversacional. Ele define todo o caminho de conversa que um usuário pode seguir, desde a primeira saudação até a ação final. Fluxos são construídos visualmente no editor usando nós conectados por arestas. Cada fluxo pertence a um espaço de trabalho e é armazenado como uma estrutura JSON contendo:- Nós (nodes) — as etapas individuais
- Arestas (edges) — as conexões entre nós
- Variáveis — containers de dados usados ao longo do fluxo
Nós
Nós são as unidades de construção de um fluxo. Cada nó tem um tipo e comportamento específico. O WhataBot oferece 18+ tipos de nós organizados em categorias:| Categoria | Nós | Comportamento |
|---|---|---|
| Mensagens | Mensagem, Mídia, PIX | Enviam conteúdo ao usuário e continuam |
| Entrada do Usuário | Botão, Lista, Menu de Mensagem | Enviam conteúdo interativo e aguardam a resposta do usuário |
| Lógica | Condição, Ir Para, Definir Variável, Formatar | Avaliam condições, definem valores, direcionam o fluxo |
| Integrações | Requisição API, Agente OpenAI | Chamam serviços externos |
| Dados | Parser de Objeto, Parser de Filtro, Executor de JS | Transformam e extraem dados |
| Ações | Transferir, Finalizar | Encerram o fluxo ou transferem para um humano |
Tipos de execução
Os nós se comportam de uma destas formas:- Continuar — Executa e imediatamente avança para o próximo nó (ex: Mensagem, Mídia)
- Aguardar — Envia conteúdo e pausa até o usuário responder (ex: Botão, Lista, Menu de Mensagem)
- Transferir — Encaminha a conversa para um agente humano e mantém a sessão ativa
- Finalizar — Encerra a sessão
Arestas
Arestas são as conexões entre nós. Elas definem o fluxo da conversa. Existem dois tipos:- Arestas simples — Conectam um nó ao próximo (usadas por Message, Media, etc.)
- Arestas de opção — Conectam um ponto de saída específico a outro nó (usadas por Button, List, Condition, API Request)
Nós como Button, List e Condition possuem múltiplos pontos de saída — um por opção/ramificação mais um ponto de fallback para seleções inválidas.
Variáveis
Variáveis armazenam dados durante uma sessão de conversa. Existem dois tipos:- Variáveis de sistema — disponíveis automaticamente em todo fluxo (ex:
system.last_message.text,system.request.response,system.dateHour) - Variáveis do usuário — criadas por você no editor para armazenar dados coletados (nomes, emails, IDs, etc.)
{{variableName}}.
Consulte o Guia de Variáveis para a lista completa de variáveis de sistema, sintaxe de template, operadores e funções de transformação.
Sessões
Uma sessão representa uma conversa ativa entre um contato e um fluxo. Sessões são:- Criadas via API quando um usuário inicia uma conversa
- Armazenadas no Redis com um TTL de 24 horas (renovado a cada interação)
- Identificadas por um
sessionIdúnico - Vinculadas a um fluxo e contato específicos
Espaços de Trabalho
Espaços de trabalho são containers organizacionais. Cada espaço de trabalho tem seus próprios:- Fluxos
- Chaves de API
- Clientes OAuth
- Agentes de IA
- Setores