Pular para o conteúdo principal
O nodo Lista envia uma mensagem com um botão que, ao ser tocado, expande uma lista de opções. Ele permite exibir até 10 opções, cada uma com título e descrição.
No WhatsApp, listas são exibidas como um menu suspenso nativo. É a melhor opção quando você tem entre 4 e 10 opções.

Configuração geral

  • Cabeçalho: Título da mensagem (máximo 60 caracteres)
  • Conteúdo: Mensagem principal (máximo 1.024 caracteres, obrigatório)
  • Nome do botão: Texto no botão que expande a lista (máximo 20 caracteres)

Opções

Cada opção tem:
  • Nome da opção: Texto visível na lista (máximo 24 caracteres)
  • Descrição: Texto adicional abaixo do nome (opcional, máximo 72 caracteres)
Você pode adicionar até 10 opções. As opções podem ser reordenadas por arrastar e duplicadas para criar variantes rapidamente.

Opções dinâmicas

Se as opções vêm de dados variáveis, habilite o modo dinâmico:
  • Variável de origem: {{$memory.options}}
  • Template de rótulo: {{item.name}}
  • Template de descrição: {{item.detail}}
Templates predefinidos: Lista simples, Produtos, Horários disponíveis, Filiais.

Variáveis nas mensagens

Cabeçalho: Olá {{$user.names}}
Conteúdo: Selecione uma das seguintes opções

Configuração avançada

Seleção obrigatória

Quando habilitado, o usuário deve escolher uma opção da lista para continuar. Se digitar texto livre, verá uma mensagem de erro personalizável (máximo 250 caracteres).

Variável de resposta

Salva a opção selecionada pelo usuário em uma variável de memória para uso posterior no fluxo. Como configurar:
  1. Habilite o toggle Salvar resposta.
  2. Insira o nome da variável (por exemplo, inquiry_reason).

Valor salvo com opções estáticas

Quando as opções são definidas manualmente, o nome da opção selecionada é salvo como texto simples. Exemplo com estas opções:
Opção
Vendas
Suporte Técnico
Faturamento
Devoluções
Se o usuário escolher Suporte Técnico:
// {{$memory.inquiry_reason}} contém:
const inquiry_reason = "Technical Support";

Valor salvo com opções dinâmicas

Quando as opções são geradas a partir de uma variável de origem, o objeto completo do array ao qual a opção selecionada pertence é salvo. Suponha que {{$memory.services}} contenha:
[
  { "id": "s1", "name": "Sales", "agents": 5, "schedule": "M-F 8:00-18:00" },
  { "id": "s2", "name": "Technical Support", "agents": 3, "schedule": "M-F 9:00-17:00" },
  { "id": "s3", "name": "Billing", "agents": 2, "schedule": "M-F 8:00-16:00" }
]
Se o usuário escolher Technical Support, a variável contém o objeto completo:
// {{$memory.inquiry_reason}} contém o objeto completo:
const inquiry_reason = {
  id: "s2",
  name: "Technical Support",
  agents: 3,
  schedule: "M-F 9:00-17:00"
};
Você pode acessar cada propriedade do objeto em nodos subsequentes:
// Acessando propriedades de {{$memory.inquiry_reason}}:
inquiry_reason.name;     // "Technical Support"
inquiry_reason.schedule; // "M-F 9:00-17:00"
inquiry_reason.agents;   // 3

Casos de uso

Conecte um nodo Condicional e crie um ramo para cada opção:
Se {{$memory.inquiry_reason}} = "Sales"             → Ramo Vendas
Se {{$memory.inquiry_reason}} = "Technical Support" → Ramo Suporte
Se {{$memory.inquiry_reason}} = "Billing"           → Ramo Faturamento
Com o objeto completo salvo, você pode informar o usuário com os dados exatos do serviço escolhido:
Texto: "A área {{$memory.inquiry_reason.name}} opera
{{$memory.inquiry_reason.schedule}} e tem
{{$memory.inquiry_reason.agents}} agentes disponíveis."
Passe o objeto para o nodo AI Agent para que adapte sua resposta:
O usuário precisa de ajuda com: {{$memory.inquiry_reason.name}}.
Horário de atendimento: {{$memory.inquiry_reason.schedule}}.
Responda com informações específicas para esse serviço.
Use um nodo API ou Datum para registrar a seleção com seu ID de serviço:
{
  "userId": "{{$user.id}}",
  "serviceId": "{{$memory.inquiry_reason.id}}",
  "serviceName": "{{$memory.inquiry_reason.name}}",
  "timestamp": "{{$context.timestamp}}"
}

Lista expira

Se o usuário não selecionar nenhuma opção dentro do tempo configurado:
  • Enviar texto: Exibe uma mensagem de expiração
  • Redirecionar para skill: Leva o usuário a outro fluxo

Exemplo

Configuração:
  • Cabeçalho: Como posso ajudá-lo?
  • Conteúdo: Selecione uma opção da lista
  • Nome do botão: Ver opções
  • Opções: Vendas, Suporte Técnico, Faturamento, Devoluções