Documentação oficial da Meta:
Clique para acessarAcesso aos Flows no Invenio Center
Para acessar os Flows no Invenio Center, siga o passo a passo abaixo:- Acesse o Invenio Center,
- No menu principal, navegue até Canais,
- Selecione a opção WhatsApp,
- Escolha a WABA desejada,
- Clique na opção Flows.
Lista de Flows
Na tela inicial de Flows, é possível visualizar todos os fluxos criados com as seguintes informações:- Nome: Nome atribuído ao Flow.
- Flow ID: Identificador numérico único do Flow.
- Status:
- Publicado — Flow já publicado na API da Meta.
- Rascunho — Flow ainda não publicado.
- Categoria: Classificação funcional do Flow.
- Tipo: Indica se o Flow é estático ou dinâmico.
Categorias de Flow
Os WhatsApp Flows são classificados de acordo com seu objetivo principal, facilitando a organização e utilização dentro da plataforma, conforme descrito abaixo:| Categoria | Objetivo | Exemplos |
|---|---|---|
| SIGN_UP | Cadastro de novos usuários na plataforma. | Nome, e-mail, telefone, CPF/CNPJ, criação de senha |
| SIGN_IN | Autenticação de usuários já cadastrados. | Login via telefone, código de verificação (OTP), senha |
| APPOINTMENT_BOOKING | Agendamento de compromissos ou serviços. | Data, horário, local de atendimento |
| LEAD_GENERATION | Captação e qualificação de potenciais clientes. | Nome, empresa, cargo, interesse em produtos ou serviços |
| CONTACT_US | Facilitar o contato do cliente com a empresa. | Motivo do contato, setor desejado, mensagem |
| CUSTOMER_SUPPORT | Suporte ao cliente e registro de solicitações. | Tipo de problema, número de protocolo, descrição |
| SURVEY | Coleta de feedback e avaliação de satisfação. | Avaliação de atendimento, feedback de produtos ou serviços |
| OTHER | Casos não contemplados nas demais categorias. | Processos internos, formulários administrativos, testes |
Tipos de Flow
Os Flows podem ser classificados em dois tipos principais:- Flows Estáticos: Não dependem de integrações externas e utilizam formulários pré-configurados para coleta de informações. São ideais para atendimentos simples, rápidos e diretos, onde não há necessidade de personalização baseada em dados externos.
- Flows Dinâmicos: Permitem integração com sistemas externos por meio de endpoints, possibilitando respostas personalizadas com base em dados contextuais. São recomendados para cenários mais complexos, que exigem maior inteligência e adaptação durante a interação com o usuário.
Criação de um Flow
Para criar um novo Flow:- Clique no botão + Criar Flow, localizado no canto superior direito da tela.
- Preencha as informações básicas:
- Nome do Flow
- Categoria
- Tipo do Flow (estático ou dinâmico)
Configuração do endpoint
Ao criar um Flow dinâmico, é possível escolher entre dois tipos de endpoint:- Endpoint programável (Robbu): Endpoint gerado automaticamente pela plataforma em JavaScript.
- Endpoint externo: Endpoint próprio, fornecido pelo cliente ou por um sistema de terceiros, acessado por meio de uma URL.
- Criar um novo endpoint, que será automaticamente vinculado ao Flow,
- Utilizar um endpoint já existente, previamente configurado na plataforma.
Para mais detalhes sobre a implementação e configuração de endpoints, consulte a documentação de Endpoints Customizados.
Exemplos de configuração de endpoint
Endpoint programável (novo)
Criação automática de um novo endpoint programável da Robbu para o Flow.Endpoint programável (existente)
Utilização de um endpoint programável da Robbu já configurado na plataforma.Para acessar e gerenciar os endpoints customizados da plataforma, clique no botão Gerenciar endpoints, localizado no canto superior direito da tela.
Endpoint externo
Integração com um endpoint próprio, informado pelo usuário.Gerenciamento de Flows
Após a criação, ao clicar no menu de opções (três pontos) ao lado de um Flow, estarão disponíveis as seguintes ações:- Editar: Permite alterar configurações e conteúdo do Flow.
- Deletar: Remove o Flow do ambiente.
- Publicar: Publica o Flow na API da Meta, tornando-o disponível para uso.
⚠️ Importante: Após a publicação, o Flow não poderá mais ser editado.
Criação do Conteúdo do Flow
O Invenio Center disponibiliza uma interface visual dedicada para a construção do conteúdo do Flow. Cada Flow pode conter até 8 telas, organizadas de forma sequencial.Telas
- As telas são gerenciadas pelo menu lateral esquerdo.
- Para adicionar uma nova tela, clique em + Adicionar tela e informe um nome.
Conteúdo da Tela
Cada tela pode conter os seguintes componentes:- Título da tela: até 20 caracteres
- Imagem: formatos JPEG, PNG ou SVG, com até 5MB ou em base64
- Cabeçalho grande: até 80 caracteres
- Cabeçalho pequeno: até 80 caracteres
- Corpo de texto: até 4096 caracteres
- Legenda: até 4096 caracteres
- Formulário
Tipos de Campos de Formulário
Os formulários dos WhatsApp Flows permitem a coleta de informações do usuário por meio de diferentes tipos de campos, organizados em campos de resposta de texto e campos de seleção. Cada tipo possui configurações específicas que devem ser preenchidas no momento da criação.Campos de Resposta de Texto
Os Campos de resposta de texto são utilizados quando se deseja que o usuário insira informações manualmente, permitindo maior flexibilidade e personalização nas respostas. Esse tipo de campo é ideal para coletar dados abertos ou semi-estruturados, como nomes, e-mails, descrições, comentários ou qualquer outra informação que não esteja previamente limitada a opções definidas.Resposta curta
Utilizado para coletar informações objetivas, como nome, e-mail, telefone, CPF ou códigos. Ao selecionar Resposta curta, é necessário configurar:| Campo | Descrição |
|---|---|
| Nome do componente | Identificação interna do campo (até 30 caracteres). |
| Tipo do componente | Define o formato da resposta esperada: Texto, Número, E-mail, Senha, Código, Telefone |
| Texto de ajuda | Mensagem opcional exibida abaixo do campo para orientar o preenchimento (até 80 caracteres). |
| Quantidade mínima e máxima de caracteres | Define os limites de caracteres permitidos para a resposta. |
| Campo obrigatório | Define se o preenchimento do campo será obrigatório ou opcional. |
Parágrafo
Indicado para respostas mais longas, como comentários, observações ou descrições detalhadas. Ao selecionar Parágrafo, é necessário configurar:| Campo | Descrição |
|---|---|
| Nome do componente | Identificação interna do campo. |
| Texto de ajuda | Mensagem opcional para orientar o usuário (até 80 caracteres). |
| Quantidade de caracteres | Define o limite de caracteres permitidos para a resposta, variando de 0 a 600 caracteres. |
| Campo obrigatório | Define se o preenchimento será obrigatório ou não. |
Seletor de data
Permite que o usuário selecione uma data específica por meio de um calendário. Ao selecionar Seletor de data, é necessário configurar:| Campo | Descrição |
|---|---|
| Nome do componente | Identificação interna do campo. |
| Campo obrigatório | Define se a seleção da data será obrigatória. |
Campos de Seleção
Os Campos de seleção são utilizados quando o usuário deve escolher uma ou mais opções a partir de uma lista previamente definida. Esse modelo é indicado para padronizar respostas, reduzir ambiguidades e facilitar o processamento dos dados, já que limita as escolhas a alternativas controladas.Checkbox (Seleção múltipla)
Permite que o usuário selecione mais de uma opção. Ao configurar um campo do tipo Checkbox, é necessário definir:| Campo | Descrição |
|---|---|
| Nome do componente | Identificação interna do campo. |
| Quantidade mínima de itens selecionados | Opcional. |
| Quantidade máxima de itens selecionados | Opcional. |
| Campo obrigatório | Define se ao menos uma opção deve ser selecionada. |
- ID do item
- Título do item
- Descrição do item
- Metadados do item
Radio Button (Seleção única)
Permite que o usuário selecione apenas uma opção entre as disponíveis. A configuração é semelhante à do checkbox, com a diferença de que somente uma opção pode ser escolhida. Ao configurar um campo do tipo Radio Button, é necessário definir:| Campo | Descrição |
|---|---|
| Nome do componente | Identificação interna do campo. |
| Campo obrigatório | Define se o preenchimento será obrigatório. |
| Lista de itens | ID, título, descrição e metadados. |
Dropdown (Menu suspenso)
Exibe um menu suspenso com opções de seleção única. Ao selecionar Dropdown, é necessário preencher os campos:| Campo | Descrição |
|---|---|
| Nome do componente | Identificação interna do campo. |
| Campo obrigatório | Define se o campo é obrigatório. |
| Itens de seleção | Cadastrar os itens que aparecerão na lista de seleção (ID, título, descrição e metadados). |
Opt-in (Consentimento)
Campo utilizado para obter o consentimento explícito do usuário, como aceite de termos de uso ou política de privacidade.Para mais detalhes sobre os componentes do Flow, acesse a documentação oficial da Meta:
https://developers.facebook.com/docs/whatsapp/flows/reference/componentsEdição via JSON
Para usuários com conhecimento técnico, é possível criar ou editar Flows diretamente via JSON, utilizando a opção Editar JSON, localizada no canto superior direito da tela. Caso você já possua um código pronto, é possível copiá-lo e colá-lo nessa área para importar diretamente a estrutura do Flow para dentro da plataforma. A estrutura segue integralmente o padrão definido na documentação oficial da Meta, incluindo:versionscreenslayoutchildren- Tipos de componentes e formulários
Envio de Flows via IDR Studio
Os Flows podem ser enviados aos clientes exclusivamente por meio da IDR Studio, utilizando a ação:“Enviar Flow de WhatsApp”Nessa ação, é necessário configurar:
- O Flow desejado
- A tela inicial que será exibida no Flow
- O texto do corpo da mensagem enviado juntamente ao Flow
- O nome do botão exibido ao usuário
Visualização do Flow em modo rascunho
Quando o Flow ainda não está publicado (modo rascunho), a experiência visual dentro do WhatsApp não é impactada em sua estrutura. No entanto, a pré-visualização inicial do formulário, exibida no momento do envio, segue um padrão do próprio WhatsApp, não refletindo integralmente as configurações definidas na plataforma. Isso significa que elementos como texto de abertura e formatação podem não aparecer conforme configurado no IDR.Visualização do Flow após publicação
Após a publicação do Flow, a experiência passa a respeitar integralmente as configurações definidas na plataforma. A pré-visualização e a abertura do formulário são exibidas conforme o configurado no IDR, e o retorno das informações ocorre corretamente, seguindo a estrutura dos campos definidos no Flow. Isso garante maior consistência na experiência do usuário e na captura dos dados.Retorno de dados e estrutura de payload
O payload é a estrutura responsável por transportar os dados preenchidos pelo usuário no Flow. Ele é essencial para garantir que as informações coletadas no formulário sejam enviadas corretamente para integrações externas, além de disponibilizar também esses dados na visualização do operador. Ou seja, é por meio dele que as informações preenchidas pelo usuário ficam registradas e visíveis no histórico do contato. Em resumo, tudo o que o usuário preenche nos campos do Flow só será retornado e exibido se estiver devidamente configurado no payload.Como funciona o payload
Cada campo do formulário possui um identificador único definido pela propriedadename. Esse identificador é utilizado para recuperar os valores preenchidos pelo usuário no momento do envio.
Na configuração do payload, você define:
- A chave (nome do campo no retorno) → como a informação será identificada
- O valor dinâmico → que vem do formulário (
${form.nome_do_campo})
Exemplo de mapeamento e payload completo
Exemplo 1: Mapeamento de um campo individual⁉️ Perguntas Frequentes (FAQ)
Posso reutilizar o mesmo endpoint para múltiplos Flows dinâmicos?
Posso reutilizar o mesmo endpoint para múltiplos Flows dinâmicos?
É possível alterar um Flow após a publicação?
É possível alterar um Flow após a publicação?
Como o WhatsApp trata campos obrigatórios em rascunho versus publicado?
Como o WhatsApp trata campos obrigatórios em rascunho versus publicado?
Posso misturar tipos de campos (texto e seleção) no mesmo Flow?
Posso misturar tipos de campos (texto e seleção) no mesmo Flow?
O payload envia apenas os campos preenchidos pelo usuário?
O payload envia apenas os campos preenchidos pelo usuário?
null ou vazio, dependendo da integração do endpoint.Como garantir que os dados do Flow aparecem corretamente no histórico do operador?
Como garantir que os dados do Flow aparecem corretamente no histórico do operador?
name do campo corresponde à chave usada no payload.