Acesso do administrador

Informe a senha para carregar e editar os agentes. Sem ela, a tela mostra apenas exemplos.

⚠ {{ senhaErro }}
● Conectado ao banco {{ versaoRotulo }}
Senha do gestor

Esta senha vem da variável ADMIN_PASS do servidor. Enquanto ela existir, trocar por aqui não teria efeito — altere no EasyPanel e reimplante.

⚠ Você ainda está com a senha padrão, que está escrita no código-fonte. Troque agora.

Ela abre o sistema inteiro. Use pelo menos 10 caracteres e não repita senha de outro serviço.

{{ msgSenha }}

Teste grátis na página de planos
Desativado, o card some do checkout e novas contas de teste são recusadas.
{{ testeRotulo }}
dias
Atendentes por assinatura

Quantos computadores podem usar a MESMA assinatura ao mesmo tempo. O padrão é 4 porque é o que o WhatsApp Web aceita para o mesmo número — acima disso o atendente teria licença válida e o WhatsApp fora. Vale para quem não tiver um limite próprio: o do assinante, definido na ficha dele, sempre ganha deste.

computadores
Segredo do bridge
É com ele que o bridge pergunta de quem é o token de cada assinante. Vai no BRIDGE_SECRET do .env do bridge. Aparece uma única vez.

Copie agora e reinicie o bridge com o valor novo — o anterior deixou de valer.

{{ msgBridge }}

Integração com o CRM (webhook)
Preencha para que todo assinante seja conectado ao seu CRM automaticamente: a extensão dele recebe a URL e a chave já provisionadas, sem ele configurar nada. Deixe vazio para não provisionar. Só o gestor master vê e edita isto.

{{ msgWebhook }}

Agenda do Google

Sem isto o agendamento continua funcionando e a lista acima continua enchendo — só não nasce evento na agenda nem convite para quem agendou. Para ligar: no Google Cloud, crie um projeto, ative a Google Calendar API, crie uma conta de serviço e baixe a chave JSON. Depois, na agenda de geracaoderesultadowa@gmail.com, compartilhe com o e-mail da conta de serviço dando "Fazer alterações nos eventos" — é esse passo que faz funcionar numa conta @gmail.com comum.

Cole com as quebras de linha ou com os \n do JSON — os dois funcionam.

No Google Calendar: Configurações e compartilhamento → Integrar agenda → copie Incorporar código ou o URL público — os dois servem. Deixando vazio, a agenda de cima é usada. O quadro aparece na aba Diagnósticos. Só quem estiver logado numa conta com acesso vê os detalhes dos eventos; sem isso o Google mostra apenas os blocos ocupados.

{{ msgGoogle }}
Botões da extensão
Dois endereços, dois botões. Campo vazio = o botão não aparece — ícone que não leva a lugar nenhum é pior do que ícone nenhum.
A extensão lê os cursos e preços desta página — precisa ser a página pública do catálogo, aberta sem login. Se ela exigir login, a leitura falha e o atendente fica sem os preços.
Vira um botão na trilha da extensão, acima do sino, que abre o seu CRM. Só funciona com assinatura ativa.

{{ msgBotoes }}

Pacote da extensão {{ pkgRotulo }}
É este arquivo que o botão “Baixar extensão” entrega e que o painel compara com a versão instalada de cada assinante para avisar “há atualização”.
Versão publicada
{{ pkgVersao }}
Subiu em
{{ pkgQuando }}
wa-js embutido
{{ pkgWajs }}
Montar do código deste servidor
O código aqui está na versão {{ versaoNoCodigo }}. Publicar exige número maior que o que já está no ar.
Este servidor não consegue montar o pacote
Falta no código que ele tem: {{ faltandoTexto }}. Enquanto isso, envie o .zip gerado na máquina de desenvolvimento.
Procurou em: {{ procurouTexto }}
Baixar o que está publicado ↗
Pacote para a Chrome Web Store

Um item de loja por instituição, não listado. O pacote sai sem o campo key, sem o envio em massa (a loja exige propósito único) e com o nome e o ícone dela.

{{ msgLoja }}

item {{ iesItemId }} ver na loja ↗ painel do Google ↗

{{ lojaCredTexto }}

Cole isto na descrição do item, na loja:
{{ justificativaLoja }}

{{ msgPkg }}

Aguardando liberação ({{ totalSolicitacoes }})

Quem se cadastrou e ainda não pode entrar. Confira o polo e a instituição antes de liberar — é o que impede um polo usar a extensão de outra rede.

{{ textoAvisos }}
Nenhum cadastro esperando. Quando alguém se cadastrar, ele aparece aqui e você recebe um WhatsApp.
{{ s.nome }}
{{ s.email }}
{{ s.seloWhats }}
WhatsApp: {{ s.whatsBonito }}
Instituição: {{ s.instituicao }}
Polo: {{ s.polo }}
Área: {{ s.area }}
Quer resolver: {{ s.objetivo }}
Falar antes

{{ msgSolic }}

Recusados ({{ totalRecusados }})

Ficam aqui para poder voltar atrás — recusa por engano acontece.

{{ r.nome }} · {{ r.email }}
{{ r.instituicao }} · {{ r.polo }}{{ r.motivo }}
Uso das extensões
Quantas pessoas cada assinante atende e quanto trabalha de fato. Sincronizar não é usar: a extensão fala com o servidor sozinha a cada 30 min, mesmo com ninguém atendendo — por isso medimos mensagens, não conexão.
{{ k.rotulo }}
{{ k.valor }}
Assinante Atendidos 7d Msgs 7 dias Hoje Último uso 14 dias Configurado
{{ u.nome }}
{{ u.email }}
{{ u.atendidos }}
base: {{ u.contatos }}
{{ u.msgs7 }} {{ u.msgsHoje }} {{ u.ultimoUso }}
{{ u.config }}
Nenhum assinante reportou uso ainda. A extensão passa a enviar isso a partir da versão 1.7.0.
Saúde dos assinantes {{ saudeResumo }}
Verificação automática diária: o webhook de cada um entrega mesmo, a extensão segue sincronizando, e o WhatsApp Web não subiu de versão sem a gente saber. Última: {{ saudeQuando }} · esta leitura é de {{ saudeIdade }} — os tempos abaixo são daquele momento. Clique em “Verificar agora” para atualizar.
{{ a.rotulo }}
{{ a.quem }}
{{ a.mensagem }}
Nenhum problema encontrado na última verificação.

{{ msgSaude }}

Assinantes ({{ totalAssinantes }})
Licença, dias restantes e estado da extensão
{{ p.nome }} {{ p.id }} · {{ p.instituicao }} · {{ p.quantos }}
{{ p.aviso }}
{{ p.dicaPolo }}
{{ p.avisoChave }}
{{ c.nome }}
{{ c.whatsapp }}
{{ c.diasRotulo }}
{{ c.syncRotulo }} · {{ c.chaveRotulo }}
ficha do lead vazia — {{ c.leadFalta }}

Nenhum assinante com polo informado ainda.

Nenhum assinante cadastrado ainda.

{{ a.nome }} ★ ADMIN
{{ a.email }}
ficha do lead vazia — {{ a.leadFalta }}
{{ a.whatsapp }}
{{ a.plano }}
{{ a.escopoRotulo }}
{{ a.diasRotulo }}
● {{ a.extRotulo }} · {{ a.visto }}
{{ a.pcRotulo }}
Serviços contratados ({{ a.totalItens }})
{{ s.rotulo }}
Contratação anterior ao registro item a item — a lista entra na próxima renovação.
Uso da extensão
{{ m.valor }}
{{ m.rotulo }}
A extensão ainda não reportou uso (versão anterior à 1.7.0 ou nunca aberta).
Instituições ({{ totalModelos }})
{{ iesAbertas }} aberta(s) a cadastro
Aberta a cadastro decide se a instituição aparece para quem está se cadastrando. Ativa é outra coisa: desligar tira o conteúdo da extensão de quem já usa. Para fechar a entrada sem mexer em produção, use só a primeira.
{{ iesTextoVazio }}
{{ m.nome }}
{{ m.slug }}
{{ m.selo }} inativa
{{ m.resumo }}
{{ m.recorte }}
{{ m.nome }}
{{ m.slug }} · {{ m.resumo }}
A extensão instala com o ícone de fábrica — {{ m.iconeMotivo }}.
O ícone sai, mas {{ m.iconeConselho }}.
{{ m.selo }} inativa sem ícone {{ m.iconeMedida }} sem consulta de CRM {{ m.recorte }}

{{ msgModelo }}

Ficou de fora, como esperado: {{ descartados }}

{{ iesTitulo }}

{{ iesSubtitulo }}

O identificador é gerado do nome e não muda depois: ele é o que fica gravado em cada assinante.

Identificador {{ ies.slug }} — não muda, para não desligar quem já aponta para ele.

PNG de 128×128 para o ícone da extensão — é o tamanho que o Chrome usa, e o mesmo arquivo entra 4× no pacote. JPG, WEBP e SVG são aceitos e aparecem no WhatsApp, mas não viram ícone: quem instalar recebe o de fábrica. Até 512 KB.

Endereços desta instituição

Vazio DESLIGA o recurso nesta instituição — o ícone some da extensão. Não há recuo para um endereço geral: recuo era como o polo de uma instituição abria o sistema da outra. Se todas usam o mesmo endereço, preencha em todas.

Este é o que pergunta "esta pessoa já é aluna?". Apontado para o CRM errado, ele traz a ficha de aluno de outra instituição para a tela do atendente.

Copie do endereço do item no painel do Google — só o código, sem o resto do endereço. Com ele preenchido, o botão “Publicar na loja” aparece na aba Distribuição.

Hoje: {{ ies.resumo }}. Personalize a extensão do jeito da instituição, exporte em Configurações → Criar backup e suba aqui. Só entram respostas rápidas, abas, categorias e etiquetas — contatos, notas, webhooks e o token da API ficam de fora.

Desmarcada, ela não aparece para quem está se cadastrando — e quem já usa continua igual.

Desmarcar tira o conteúdo desta instituição da extensão de quem já usa. Só faça isso para encerrar de vez.

Nada marcado quer dizer atende todas — é assim que as instituições antigas continuam aparecendo.

{{ msgModelo }}

Clientes ({{ totalClientes }}) {{ totalNoBanner }} no banner da home

Aparecem no Acompanhamento do painel. Só os marcados entram na esteira da home — e ali sai apenas o nome, nunca CNPJ ou contato.

{{ msgCliente }}

Nenhum cliente cadastrado ainda. Enquanto não houver nenhum marcado, a home mostra a lista padrão.

{{ c.empresa }}
{{ c.plano }}
{{ c.dono }}
Catálogo comercial ({{ totalOfertas }}) plano cheio: {{ somaOfertas }}/mês

O que a página de Planos cobra e o que o assistente responde quando perguntam preço. Editou aqui, mudou nos dois. Desativar tira do site sem apagar o cadastro.

Deixe o preço em 0 para um serviço que entra no plano sem custo. A ordem sai do arrasto na lista abaixo.

{{ msgOferta }}

Arraste pela alça ⠿ para mudar a ordem em que os itens aparecem no site.

{{ o.nome }} {{ o.selo }}Salvo ✓
{{ o.grupo }}
R$
de
{{ o.precoRotulo }}
âncora ≤ preço: não aparece no site
Cupons de desconto

O cliente digita o código no fim do pedido. O desconto incide sobre o total já com o desconto da recorrência. O uso é contado quando o pagamento confirma — não quando o checkout abre.

Prazo vazio = sem vencimento. Limite 0 = sem teto. Um cupom sem os dois é um corte de preço permanente — e código vaza, é para isso que ele existe.

{{ msgCupom }}

Nenhum cupom cadastrado. O campo continua aparecendo no checkout — quem não tiver código simplesmente ignora.

{{ c.codigo }}
{{ c.nome }}
{{ c.situacao }}
{{ c.valorRotulo }}
{{ c.usosRotulo }}
Agenda

Vê os detalhes quem estiver logado numa conta com acesso a esta agenda. Sem isso, o Google mostra só os blocos ocupados.

Agenda não incorporada ainda. Em Config da extensão → Agenda do Google, preencha o endereço da agenda (ou cole o código de incorporar) e salve.
Diagnósticos agendados ({{ diagProximos }} por vir) {{ googleRotulo }}

Quem vem primeiro está no alto. Cancelar aqui apaga o evento da agenda do Google também — cancelar só na lista deixaria o compromisso na agenda de quem vai atender.

{{ vazioRotulo }}
{{ d.dia }}
{{ d.hora }} · {{ d.duracao }}min
{{ d.statusRotulo }}
{{ d.nome }} {{ d.instituicao }}
{{ d.email }} · {{ d.whatsapp }}

{{ d.observacao }}

{{ i.nome }}
Ver na agenda ↗ Entrar na reunião ↗ fora da agenda · {{ d.erroCurto }}
Reagendar ↗
{{ d.vinculo }}

{{ msgDiag }}

Dúvidas dos assinantes ({{ tutPendentes }} esperando você) Ver a página do treinamento ↗

A resposta aparece na aula, assinada como gestor-master, para todo mundo que assiste àquela aula — não só para quem perguntou.

Nenhuma pergunta até agora.
{{ p.autor }} {{ p.quando }} {{ p.aulaTitulo }} {{ p.selo }}

{{ p.texto }}

{{ p.respAutor }} · {{ p.respQuando }}

{{ p.resposta }}

{{ c.autor }} {{ c.quando }} {{ c.papel }}

{{ c.texto }}

{{ msgTut }}

Videoaulas ({{ totalAulas }})

A trilha se monta sozinha a partir daqui: mesma categoria junta as aulas num bloco, mesmo módulo junta dentro dele. A numeração e a duração total da categoria são somadas na hora — não há o que manter em dois lugares.

{{ naVimeoLido }}

Vazio esconde o botão "Baixar materiais" — melhor que um botão que não entrega nada.

{{ msgAula }}

{{ a.n }}
{{ a.caminho }}

Editar assinante

{{ ed.email }}

+55

Trocar o número libera a instalação: a extensão precisa se registrar de novo.

Os dias contam a partir de agora — salvar renova o prazo.

Quantos atendentes usam esta assinatura ao mesmo tempo. 0 usa o padrão da instalação ({{ limiteInstalacoes }}) — este campo é para quem foge dele. Lembre que o WhatsApp Web aceita o mesmo número em até 4 aparelhos: acima disso a licença vale e o WhatsApp fica de fora.

A extensão é a mesma para todos. A instituição define o logo, as abas e as respostas rápidas que vêm prontas. Trocar aqui não reaplica o conteúdo em quem já ativou.

Dois números atendendo o mesmo polo precisam do mesmo ID aqui: é ele que autoriza a resposta da central a sair pelo número que o contato chamou. ID diferente = contas separadas de verdade, sem troca entre elas.

Aparece dentro do WhatsApp, nos dois botões da extensão. É o símbolo da instituição do assinante — não o da plataforma. Vazio deixa a estrela padrão.

Define o conteúdo pronto que a extensão recebe na primeira ativação: respostas rápidas, abas, categorias e etiquetas do ramo. Só vale para quem ainda não ativou.

O assinante vê apenas o próprio acompanhamento, dados e assinatura. Admin master enxerga e altera todo o sistema.

⚠ {{ msgAssinante }}

O que vem dentro de {{ inc.nome }}

Um por linha. Para explicar o item, escreva Nome — descrição (traço comum ou travessão). A ordem daqui é a que aparece no site, numerada como {{ inc.numero }}.1, {{ inc.numero }}.2

COMO VAI APARECER ({{ inc.qtd }})
Nenhum item — a lista some do site e o item volta a mostrar só a descrição.
{{ p.numero }} {{ p.nome }}{{ p.descricao }}

Editar aula

{{ ea.caminhoAtual }}

Escrever o nome de uma categoria que já existe move a aula para lá. Nome novo cria um bloco novo na trilha.

A numeração que o aluno vê (1, 2, 3…) sai destas três ordens somadas — não se escreve à mão.

{{ eaVimeoLido }}

A duração é o rótulo ao lado da aula e entra na soma da categoria.

Vazio esconde o botão "Baixar materiais" na aula.

Fora do ar, a aula some da trilha do aluno e não conta no progresso — sem perder o cadastro nem as perguntas.

⚠ {{ msgAulaEd }}
{{ siteTexto }}
Consumo dos agentes
até

{{ conResumo }}

Nenhuma conversa no período. O consumo passa a ser registrado a partir da primeira pergunta feita ao agente no site.

{{ k.rotulo }}
{{ k.valor }}
O gateway não está informando tokens nesta configuração — o extrato mostra conversas e volume de texto, que são medidos por nós. Tokens aparecem sozinhos se o gateway passar a responder usage no streaming.
{{ conFaltaPrecoTexto }}
Preço dos modelos ({{ moedaPrecos }} por 1 milhão de tokens)

Copie da tabela do provedor. O extrato usa o preço do modelo que cada agente está usando — quem define isso é a aba Modelo & Voz do agente.

ModeloEntradaSaídaConferido em
{{ p.modelo }}
{{ p.provedor }} · em uso
{{ p.dataRotulo }}
AgenteConversasTok. entradaTok. saídaCustoFalhas
{{ a.nome }}
{{ a.detalhe }}
{{ a.perguntas }} {{ a.entrada }} {{ a.saida }} {{ a.custo }} {{ a.falhas }}
ACESSO GESTOR MASTER
Treinamento de Agentes
Selecione um agente e ajuste identidade, IA, prompts, módulos e comportamento.
{{ activeCount }}
Agentes ativos
{{ connCount }}
IAs conectadas
✓ {{ msg }}
{{ a.icon }} {{ a.status }}
{{ a.icon }}
{{ a.name }}
{{ a.company }}
{{ a.starStr }}{{ a.rating }} {{ a.score }}/100
{{ sel.icon }}
{{ sel.name }}
{{ sel.company }}
{{ secTitle }}
{{ sel.icon }}
A foto e a identidade aparecem para o público nas avaliações e no atendimento. Use a marca da instituição que o agente representa.

{{ msgFoto }}

Provedores conectados
{{ p.short }} {{ p.name }} {{ p.status }}

Prompt base em 4 camadas — a camada comum é herdada por todos os canais; as demais especializam o comportamento por canal.

Módulos de conhecimento (RAG) — fontes que o agente consulta antes de responder.

{{ k.name }}
{{ k.meta }}
Indexado
+ Adicionar módulo de conhecimento
Busca semântica (RAG) ativa
Recupera trechos relevantes por similaridade.
Parâmetros do modelo
Temperatura{{ sel.temp }}%
Top-p{{ sel.topP }}%
Segurança & handoff
{{ g.k }}
TTS de voz
Velocidade da fala{{ sel.speed }}%
Memória de conversa
Lembra do histórico e das preferências do usuário.

Instruções operacionais que o agente sempre segue.

Regra base — restrições invioláveis, com prioridade sobre qualquer instrução.

Aprendizado contínuo
Melhora o agente a partir das interações avaliadas.
Score atual de conhecimento: {{ sel.score }}/100
{{ statusRotulo }}
{{ statusDetalhe }}

Endereço e credencial que este agente usa para responder. O token vale acesso de operador no provedor — depois de salvo, esta tela mostra só os quatro últimos caracteres.

Responde a pergunta escrita à mão no Como Funciona, com as perguntas cadastradas aqui. Só um agente pode ficar marcado — marcar este desmarca o anterior.
{{ ligaDetalhe }}

{{ msgConexao }}

Viram botão no widget do site e sobem como resposta oficial na conversa deste agente. Salvam sozinhas, sem depender do botão Salvar do rodapé.

Nenhuma pergunta ainda. As que não têm dono valem para a instalação inteira e aparecem abaixo.

Sem dono — vale para a instalação inteira.

{{ msgFaq }}