WebBlocks Live Chat
Run self-hosted support conversations between website visitors and CMS operators. Visitors open a chat widget on your site; operators read and answer messages from Live Chat in the CMS panel. No external chat account or WebSocket service is required. The documented release is Live Chat 0.7.1.
Requirements and installation
Use PHP 8.4 or later and WebBlocks CMS ^1.95.1, which provides the required
WebBlocks UI runtime. Download the compatible ZIP from the
Live Chat catalog page. Install it under
System → Plugins, enable it, and check that plugin database setup completed
successfully. An older host may report a plugin health warning; upgrade the host
before using this release.
Configure the site widget
Open Live Chat → Settings and select the site. General settings control widget enablement, online/offline availability, left/right position, offline email requirements and optional operator email notifications. Availability is selected manually; it does not detect whether an operator is present.
Language texts have their own form. Set the title, welcome message, offline message and launcher label for each enabled site language. Saving general settings preserves language text; saving language text preserves general settings. Missing copy falls back to the default language and then the existing legacy copy.
The enabled widget opens only when a visitor clicks its launcher. The visitor provides a name and may provide an email address; you can require email for new offline conversations. Closing the widget keeps an unsent draft. After a conversation is closed, Start a new conversation returns the visitor to intake. Messages and operator replies arrive through the widget using polling.
Work with conversations
Operators need View live chat to read conversations, Reply to live chat to reply or close them, and Manage live chat to configure the widget. The selected site limits the conversation list and available actions.
Use the open, awaiting-reply, unread and closed views to find work. Search matches visitor names, email addresses and message history. The default open view places conversations awaiting a reply first; latest-first and oldest-first sorting are also available. An unread conversation and a conversation awaiting a reply are different: reading a message does not answer it.
The inbox and conversation refresh every five seconds while visible. Reading at the bottom of a visible conversation marks visitor messages read. If you scroll back, new messages leave your position in place; use New messages to return to the latest messages. Send a reply, close a finished conversation, or reopen it when more help is needed. Reopening a thread restores visitor replies.
Authorized operators also receive unread sidebar badges and in-panel toasts for new visitor messages. These notices do not mark conversations read and do not send operating-system notifications.
Optional email notifications
Offline operator notifications are opt-in. Configure the recipient and enable offline notifications only when needed. Visitor reply emails are disabled; operator replies are delivered through the chat widget.
Email content and frequency inherit the CMS site's notification policy. Depending on that policy, messages can be immediate, batched or part of a daily summary. Alert-only messages omit visitor names, addresses, message bodies and private conversation tokens. Daily summaries are always minimal.
Batched/daily delivery and daily reminders require the host's Laravel scheduler to run every minute. Check the recorded scheduler health when mail remains pending. Immediate-only notifications without daily reminders do not require scheduled dispatch. Mail delivery uses the CMS mail configuration; a successful handoff to the mail transport does not prove arrival in the recipient's inbox.
Settings API
The enabled plugin advertises its routes through CMS API discovery and OpenAPI.
Use GET /webadmin/api/plugins/webblocks-live-chat/settings?site_id=1 with
live-chat.read. PATCH or PUT on the same route requires
live-chat.settings.write and an explicit site_id.
Writes update only supplied fields and merge supplied language values into existing copy. Only enabled site languages are accepted. Token site restrictions and current delegated access still apply. Obtain the supported token capability policy from the installed CMS; do not assume enabling the plugin grants access.
Troubleshooting and related guides
If the launcher is missing, check plugin activation, site selection, widget enablement and host compatibility. An offline setting changes intake copy; widget enablement is a separate control. If replies stop, check whether the conversation was closed. If email is pending, inspect the recipient, CMS mail configuration, inherited notification policy and scheduler health.
Return to the plugin overview, inspect the catalog release, or use the Internal Content API reference.