Pular para o conteúdo principal

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:
CategoriaNósComportamento
MensagensMensagem, Mídia, PIXEnviam conteúdo ao usuário e continuam
Entrada do UsuárioBotão, Lista, Menu de MensagemEnviam conteúdo interativo e aguardam a resposta do usuário
LógicaCondição, Ir Para, Definir Variável, FormatarAvaliam condições, definem valores, direcionam o fluxo
IntegraçõesRequisição API, Agente OpenAIChamam serviços externos
DadosParser de Objeto, Parser de Filtro, Executor de JSTransformam e extraem dados
AçõesTransferir, FinalizarEncerram 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.)
Referencie variáveis em campos de texto usando a sintaxe {{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
A sessão rastreia a posição atual no fluxo e todos os valores das variáveis.

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
Uma única conta pode ter múltiplos espaços de trabalho, e usuários podem acessar espaços de trabalho com base em seu papel.