Drop the snippet. That's it.

AssistChat is configured from your dashboard, not a config file. The only thing your developers need is the embed snippet — three lines, one workspace token.

The 60-second install

Paste this anywhere before </body>. The widget renders in the bottom-right and goes live the moment your domain is approved.

// Paste before </body>
<script
  src="https://assist.thewchat.com/w/<your-widget-token>.js"
  async>
</script>

What you can configure

Everything below is dashboard-settable — no redeploys, no support ticket.

  • Appearance — primary colour, accent colour, surface colour, position (bottom-left / bottom-right), launcher text and icon.
  • Behaviour — open mode (auto-open / on-click / teaser), connect mode (visitor info gating, anonymous-OK).
  • Messaging — header title, subtitle, welcome message, offline message.
  • Routing — assign agents per domain, set per-agent concurrent-chat limits.
  • Branding — show or hide "Powered by", show / hide agent avatars.

Multi-domain

Each workspace can host an unlimited number of websites — they're called domains in the dashboard. Submit a domain, our team approves it, the widget starts answering on it. Same snippet, same token, every site.

JavaScript API

The bundle is self-contained and adds exactly one global, window.ATWChat. Three methods, no build step, no npm package:

  • ATWChat.open() — open the chat panel (e.g. from your own “Need help?” button).
  • ATWChat.close() — close it again.
  • ATWChat.config() — read the resolved widget config for the current domain.

Everything else is deliberately not an API. Visitor details are collected by the pre-chat form, which you configure in the dashboard — ask for name, email, phone or subject, mark each one required or optional, and let visitors skip it entirely if you'd rather not gate the conversation.

Zero-cost until the first click

Before a visitor clicks the launcher there is no session row, no heartbeat, no polling and no WebSocket — just the launcher bubble painted from config that arrived inlined with the snippet. The socket opens on the first click and closes with the tab. No beforeunload handler is registered, so your pages keep their back/forward cache and your Core Web Vitals stay yours.

Need help?

Email info@aabhyasa.com or drop us a note. The chat bubble in the corner of this page is our own widget — feel free to use it.