Chatfuel

Módulos do Chatfuel wizard: o que cada parte do app faz

Os módulos que o Chatfuel wizard pode instalar, o que cada um adiciona ao seu app, quais você precisa pedir e como escolhê-los com --modules.

Última atualização

Um módulo é uma parte do app que o Chatfuel wizard escreve: a caixa de entrada, o CRM, os agendamentos, as configurações do AI Agent e assim por diante. Você escolhe os módulos antes que qualquer coisa seja gravada em disco, e os módulos que você deixa de fora não deixam nenhum código. Cada módulo traz as próprias telas, as operações GraphQL que usa e uma skill que ensina ao seu agente de programação como essa parte da Public API se comporta.

Quais módulos o wizard oferece

Todos os módulos abaixo são instalados por padrão quando você aceita o seletor como está, exceto auth e admin. O nome em negrito é o ID do módulo que --modules recebe; o rótulo depois dele é o nome na barra lateral do app.

  • livechat (Inbox): a caixa de entrada dos operadores, com a lista de conversas, o histórico de mensagens e o campo de mensagem, atualizados ao vivo. Os operadores assumem uma conversa e a devolvem ao bot.
  • contacts (Contacts): um CRM sobre os contatos do Chatfuel, com tabela de registros, visualizações salvas, filtros por atributo, edição direto na tabela, página completa do registro, o catálogo de campos do bot e importação e exportação de CSV.
  • deals (Deals): um quadro kanban, uma tabela e uma previsão sobre os contatos agrupados por etapa de venda. Um negócio é um contato, então deals exige contacts.
  • bookings (Bookings): um calendário com arrastar e soltar, a lista de agendamentos, a equipe com horários semanais e sincronização com o Google Calendar, o catálogo de serviços, as configurações de agendamento com IA e insights.
  • knowledge-base (Knowledge Base): tudo o que o AI Agent sabe sobre o negócio: perfil da empresa e horário de funcionamento, notas sobre a empresa, FAQs, produtos, importação a partir de um arquivo e as perguntas que a IA passou para um humano.
  • automations (AI Agent): as configurações do AI Agent para cada canal e ponto de entrada, regras personalizadas com herança e um chat de teste sempre aberto.
  • flow-builder (Flow Builder): um editor visual de fluxos com um canvas, edição de blocos e conexões e um inspetor para cada elemento.
  • ads-optimization (Ads Optimization): eventos de conversão para anúncios de clique para o WhatsApp, enviados de volta à Meta pela Conversions API.
  • publishing (Publishing): fotos no feed do Instagram, Reels, Stories e carrosséis, publicados na hora ou colocados na fila, com um calendário e uma biblioteca do que já foi publicado.
  • broadcasts (Broadcasts): campanhas de WhatsApp a partir de templates aprovados, com um construtor de público, contagem de destinatários ao vivo e envio imediato, agendado ou recorrente.
  • channels (Channels): o número de WhatsApp, as contas de Instagram e TikTok, as Páginas do Facebook e o widget do site conectados ao bot, com opções para conectar, renovar o acesso e desconectar.
  • auth (Team): login para as pessoas que usam o app, no seu próprio projeto do Supabase, com workspaces, funções de proprietário, administrador e membro e links de convite. Opcional (opt-in).
  • admin (Admin): um painel para a conta por trás do token do app: todos os workspaces e bots, os canais deles e uma página de saúde do sistema, protegido por senha. Opcional (opt-in).

Mais um módulo, core, é instalado com todo app e não tem tela própria. Ele contém o transporte, as regras do proxy, a paginação e o validador de operações em que os outros módulos se apoiam.

Quais módulos você precisa pedir

Os módulos auth e admin precisam de credenciais que o wizard não consegue criar sozinho, então nunca são instalados com --yes e aparecem marcados como opt-in no seletor:

  • auth precisa de um projeto do Supabase para o login. O wizard pede esse projeto durante a execução. Instale o auth sempre que pessoas de fora da sua equipe forem abrir o app; implante o seu app explica por quê.
  • admin precisa de uma senha de pelo menos 16 caracteres, guardada como ADMIN_PASSWORD no ambiente do servidor. O painel abre em /admin e não tem item na barra lateral.

Indique-os pelo nome para instalá-los:

npx @chatfuel/wizard --modules livechat,contacts,deals,auth

Como os módulos dependem uns dos outros

Só um módulo exige outro: deals exige contacts, e escolher deals adiciona contacts com um aviso. Outros módulos recomendam módulos complementares, e o wizard os oferece em uma segunda lista, Recommended with your selection — add any?:

  • livechat e flow-builder recomendam contacts.
  • bookings recomenda knowledge-base e contacts.
  • knowledge-base recomenda automations e bookings.
  • automations recomenda knowledge-base, livechat e bookings.
  • ads-optimization recomenda automations e contacts.
  • broadcasts recomenda contacts e channels.
  • publishing recomenda auth, admin e automations, porque a fila dele fica no próprio banco de dados do app.
  • admin recomenda auth.

Os módulos não importam o código uns dos outros. Quando um passa trabalho para outro, ele leva ao endereço desse módulo por um link, por exemplo de um contato para a conversa dele na caixa de entrada.

Como escolher módulos pela linha de comando

--modules recebe IDs de módulo separados por vírgulas e recusa um ID que não conhece:

npx @chatfuel/wizard --modules livechat,contacts,bookings

--yes sem --modules instala todos os módulos, exceto auth e admin. Para adicionar um módulo a um app depois, execute npx @chatfuel/wizard --embed no app e escolha o módulo.

Do que um módulo é feito

Cada módulo é um diretório no repositório do wizard em content/modules/<id>/ com:

  • um manifesto que indica as dependências do módulo e as variáveis de ambiente que ele lê;
  • as telas, copiadas para o seu app em src/modules/<id>/;
  • as operações GraphQL que ele envia. O proxy do app encaminha ao Chatfuel apenas esses documentos e recusa qualquer outro;
  • uma skill, instalada como chatfuel-<id> para o seu agente de programação, e uma nota de entrega adicionada ao checklist de configuração do agente. Agentes de programação e skills trata das duas.

Nesta página