Self-hosted live chat
ZChat gives your team a fast, modern chat experience without turning customer conversations into a rented service. Visitors open a lightweight widget on your site, agents respond in real time, and the full workflow runs in your own environment under a one-time software license.
SignalR-powered messaging keeps conversations responsive with typing awareness, agent presence, and fast session updates.
Use human-only chat, connect OpenAI or Claude, or keep AI private with Ollama. ZChat does not force a provider markup.
Deploy on Windows or Linux, keep transcripts in your systems, and move from localhost evaluation to production with the same product.
Route conversations to the right operators, review active and completed sessions, and let AI handle first-response triage before handing off to a human.
Present a polished support surface with pre-chat context, branded chat states, and a visitor experience that works on desktop and mobile alike.
The widget is a single script tag, but the details are where a chat window either feels trustworthy or feels bolted on. Here is what a visitor gets on your site.
Messages arrive in real time over a websocket, with an automatic fallback to polling on networks that block them — corporate proxies included. Visitors see typing indicators, delivery ticks on their own messages, and a retry control if something fails to send rather than a message that quietly disappears.
Close the laptop and come back and the conversation resumes rather than starting over. While every agent is busy the visitor is told their place in the queue — "you're next in line" beats an empty window with a spinner.
The widget renders inside a Shadow DOM, so your CSS cannot break it and it cannot break your CSS — the usual cause of a chat button that looks fine on the homepage and collapses on a product page.
Set the accent colour and position from the embed, and it follows the visitor's dark-mode preference. The whole bundle is about 29 KB gzipped and loads asynchronously, so it is not what makes your page slow.
Built to WCAG 2.1 AA: keyboard reachable throughout, focus moves into the dialog when it opens and returns to the launcher when it closes, Escape closes it, and the interface respects a reduced-motion preference.
The interface ships in English, Spanish, French and German, following the visitor's browser language unless you pin one.
When no agent is available the widget offers a leave-a-message form instead of pretending to be online, and those submissions land in Missed Chats with the visitor's details so nothing is lost overnight.
When the conversation ends the visitor can rate it, and the ratings roll up into a satisfaction summary on your dashboard.
One tag before the closing body tag, pointing at your own server:
<script src="https://YOUR-SERVER/widget/zchat.iife.js" data-server-url="https://YOUR-SERVER" data-site-id="default"></script>
That is the whole integration. If your site already knows who the visitor is — a signed-in customer in a portal or account area — pass their name and email and the pre-chat form opens pre-filled, so nobody retypes details you are already showing them. It works the same on WordPress, Shopify, a custom application, or a plain HTML page.
The bundle is roughly 29 KB gzipped and loads asynchronously, so it does not block rendering. It is also served from your own server rather than a third-party CDN, which means one fewer external dependency on your critical path.
The widget shows a leave-a-message form instead of an empty chat, and the submission is stored as a missed chat with the visitor's name, email, message and the page they were on, so you can follow up by email.
No. The widget renders inside a Shadow DOM, which isolates its styles from the page in both directions. Your stylesheet cannot leak in and break the chat window, and the widget cannot leak out and affect your layout.
Yes. The session is remembered in the browser, so a refresh, a new tab, or a laptop waking from sleep resumes the same conversation rather than starting a new one.
Into your own SQL Server database on your own server. Transcripts, visitor records, ratings and uploaded files never pass through a ZChat-operated service, and you can export them as CSV or query the tables directly.
ZChat is for teams that want modern support tooling without recurring hosted-seat pricing or vendor lock-in.
ZChat gives you the installable server, web dashboard, website widget, and desktop agent tools in one self-hosted product you buy once and keep. Run it on infrastructure you trust and connect AI only if and how you want it.
Deployment
Install on Windows or Linux, behind IIS or Nginx, in a VM, or in Docker if that fits your stack.
Commercial model
One-time purchase, perpetual license, and no monthly per-agent bill attached to growth.
AI Flexibility
Use Ollama locally or connect OpenAI and Anthropic with your own provider accounts.