Configurar o widget
Instale e personalize o widget do Take Sales no seu site.
Instalação
Copie o código em Canais → Web Chat, escolhendo o agente. Ele tem duas partes: a configuração e o script.
<!-- TakeSales Voice Agent Widget -->
<script>
window.TakeSalesConfig = {
agentId: 'SEU_AGENT_ID',
httpUrl: 'https://api-agent.takesales.ai'
};
</script>
<script src="https://api-agent.takesales.ai/takesales-widget.min.js"></script>Cole antes de </body>. Exemplos por framework em Web Chat.
Quase tudo é configurado no painel, não no código: o widget busca a configuração do agente ao carregar. Use o objeto TakeSalesConfig só para o que é específico daquela página.
O que dá para passar no código
| Opção | Para quê |
|---|---|
agentId | Obrigatório — qual agente atende |
httpUrl / wsUrl | Endereço do serviço de agente (já vem preenchido no snippet) |
userId + userHash | Identidade assinada pelo seu servidor (veja abaixo) |
visitorEmail | Pré-preenche o contato quando você já o conhece |
primaryColor, secondaryColor, textColor, backgroundColor | Sobrescreve cores só nessa página |
position, zIndex, windowWidth, windowHeight, borderRadius, buttonSize | Ajustes de layout |
title, subtitle, greeting, placeholder | Sobrescreve textos |
autoOpen | Abre o chat automaticamente |
trackingOnly | Não renderiza o chat: só o rastreador de eventos |
API JavaScript
window.TakeSalesWidget.open(); // abre o chat
window.TakeSalesWidget.close(); // fecha
window.TakeSalesWidget.destroy(); // remove o widget (útil em SPA)
window.TakeSalesWidget.track('add_to_cart', { sku: 'ABC' });
window.TakeSalesWidget.consent.status(); // 'granted' | 'denied' | null
window.TakeSalesWidget.consent.grant();
window.TakeSalesWidget.consent.deny();Com Exigir consentimento (LGPD/GDPR) ligado no agente, nenhum dado pessoal é coletado até consent.grant() ser chamado. Ligue o consentimento ao seu banner de cookies.
Identidade assinada
<script>
window.TakeSalesConfig = {
agentId: 'SEU_AGENT_ID',
userId: '12345', // id do usuário logado no seu site
userHash: 'a3f1…' // HMAC-SHA256(userId, segredo do workspace), calculado no SEU servidor
};
</script>Os dois campos são obrigatórios juntos — userId sozinho é ignorado. Gere o segredo em Workspace → Verificação de identidade.
Personalização no painel
Tudo abaixo está em Agentes → [agente], e vale para todos os sites onde o widget estiver instalado.
Aparência
| Opção | Descrição |
|---|---|
| Cores | Primária, secundária, fundo, fonte e balão do agente |
| Ícone do widget | Um dos ícones prontos (chat, bot, fone, microfone…) ou imagem própria (PNG/JPG/SVG, até 500 KB) |
| Posição | Um dos quatro cantos; padrão inferior direito |
| Avatar | Imagem do agente exibida no chat |
Tela inicial
Estilo (Padrão, Boas-vindas ou Destaque), título, mensagem, texto do botão, logo e até 5 botões extras — que abrem um link ou iniciam a conversa enviando um texto, com um contexto opcional que só o agente vê.
Pré-abertura
Convite exibido ao lado do botão antes de abrir o chat, em cinco estilos: balão, card com campo de pergunta, agente online, boas-vindas e destaque. Configure mensagem, imagem, atraso em segundos, cores, aviso legal (aceita negrito e links) e se ele reaparece após o visitante fechar.
Abas
Barra estilo messenger no rodapé, com Início, Mensagens e Ajuda. Com todas desligadas, o widget mantém a janela única.
Conversa
| Opção | Descrição |
|---|---|
| Voz / Áudio | Entrada por voz e respostas em áudio |
| Chat de texto | Campo de digitação (ligado automaticamente quando a voz está desligada) |
| Respostas rápidas | Até 10 sugestões na tela inicial |
| Manter chamada ativa ao minimizar | A ligação continua com o widget minimizado |
| Limpar histórico ao fechar | Apaga as mensagens quando o visitante fecha o widget |
| Pedir feedback ao final | Joinha para cima/baixo e comentário opcional — aparece em Conversas |
| Baixar conversa | Adiciona "Baixar conversa" ao menu "…"; o arquivo é salvo no dispositivo, nada vai ao servidor |
| Exibir marca Take Sales | Mostra ou esconde o "Powered by Take Sales" |
A contagem regressiva de sessão só aparece em conversas de voz (Gemini Live), com limite padrão de 15 minutos. Agentes só de chat de texto não têm limite de tempo — o que os limita é a franquia mensal de conversas e tokens do workspace.
Origens permitidas
O widget só funciona nos domínios listados em Origens permitidas (Canais → Web Chat, ou Agentes → Segurança). Elas precisam começar com https://; lista vazia libera qualquer origem.
Em produção, preencha a lista. Sem ela, qualquer site pode embutir o seu agente e consumir os seus minutos de voz ou sua franquia de texto.
Responsividade
O widget se adapta a telas pequenas automaticamente, sem configuração extra.
Teste em celular antes de publicar: verifique se o botão flutuante não cobre botões importantes do seu site (carrinho, menu). Se cobrir, mude a posição ou o zIndex.
Depuração
O widget não aparece:
- Abra o console (F12) e procure mensagens do
[TakeSalesWidget] - Confirme na aba Network que
takesales-widget.min.jscarregou com status 200 - Verifique o
agentIde se o agente está ativo - Confirme que o domínio está nas origens permitidas
- Desative bloqueadores de anúncio para testar
Erros comuns:
| Sintoma | Causa | Solução |
|---|---|---|
| Script 404 | URL do agente errada | Use o snippet gerado no painel |
| Widget não conecta | Agente inativo ou origem não permitida | Ative o agente e cadastre o domínio |
| Widget some ao navegar (SPA) | O script foi carregado uma vez e removido pela rota | Chame destroy() e reinicialize, ou carregue o script no layout |
| Widget atrás de outro elemento | Conflito de z-index | Ajuste zIndex no TakeSalesConfig |
Quando usar o SDK
Se você precisa de uma interface totalmente própria (chat dentro do seu app, com o seu design), use o SDK JavaScript em vez do widget.

