Custom JS para o GoHighLevel (e white-labels). Adiciona um botão ✨ Summary
na toolbar do composer da conversa que dispara um resumo da conversa via
backend stevo-ia-v2.
localStorage (smry-ui-lang).#sw-selector (dropdown do switch v3) — mesmo timing,
mesma região, sem depender de classes Tailwind exatas. Fallback: o
seletor original do #composer-textarea.#composer-textarea,
então o botão só aparece quando o composer está aberto.| Arquivo | O que é |
|---|---|
summary-ghl.js |
Versão obfuscada/minificada — é essa que vai pro Custom JS do GHL. |
summary-ghl-original.js |
Código fonte legível (referência interna). |
summary-ghl.js (a versão obfuscada) no campo
Custom JavaScript. Salve.<script src> (GitHub Pages)Hospedado em GitHub Pages, basta uma única linha no Custom JS:
<script src="https://wellalvesf.github.io/summary-ghl/summary-ghl.js" defer></script>
Cada git push na branch main republica em segundos.
⚠️ Em alguns clientes o GHL exige que o Custom JS seja JS puro (sem
<script>). Nesse caso use:(function(){var s=document.createElement('script');s.src='https://wellalvesf.github.io/summary-ghl/summary-ghl.js';s.defer=true;document.head.appendChild(s);})();
POST https://stevo-ia-v2.fly.dev/api/v2/summarize/from-ghl
{
"locationId": "...",
"conversationId": "...", // ou contactId
"days": 1
}
provider e language do resumo gerado são resolvidos no backend
a partir das colunas ai_summary_provider / ai_summary_language da
tabela instances (configuradas no front da Stevo). O front-end no
GHL não envia esses campos.
Detalhes completos da feature em
stevo → docs/feature-summary-conversa.md.
No console (F12) do GHL:
__summaryGhlDebug() // mostra estado interno
__summaryGhlSetLang('en-US') // troca idioma da UI on-the-fly