Skip to content
Sendora Cloud
Create account
2026-05-30 · Docs

Contact Widget — no drop-in widget.js bundle / no conversation analytics / no session-timeline attach

  • Audit of `chatbot/reply.ts` + `chatbot/routes.ts` + repo-wide widget search surfaced 3 over-claims. (1) "One-script-tag embed, ~12 KB gzipped" — there is NO widget.js bundle anywhere in the repo. The chatbot module ships a public submission endpoint + an SDK helper; the UI is on the customer. (2) "Visitor's full session timeline attached" to tickets — only event emit + `ai_traits` fire on inbound; no automatic timeline attachment. (3) "Conversation analytics — message volume, AI deflection rate, human-handoff rate, queue metrics" — stats endpoint returns `totalBots` + `totalSessions` only (line 77 of routes.ts).
  • Real shape: public `POST /chatbot/message` creates a `support_tickets` row + emits `ticket.created_via_widget`. AI mode does RAG via `ILIKE` over `kb_articles.title + body`, top-5 retrieved + re-ranked, top-3 fed as context to gpt-oss:20b on Ollama Cloud. Canned fallback when AI off OR LLM unavailable. Citations returned. `ai_traits` fires on inbound. SDK helpers on Web + RN.
  • Intercom comparison rewritten honest. New rows for prebuilt widget bundle, session timeline attach, conversation analytics — all marked ❌ for Sendora with specifics. whyStay LEADS with the missing features. 3 FAQs rewritten openly admitting the gaps + naming where Intercom is still the right answer.
  • Real wins kept + emphasised: RAG over your KB, ticket creation in same Support inbox, AI traits on inbound, per-org enable + env kill-switch, citations, canned fallback so the chat never 500s.