What the widget does
- A launcher in the corner of every page, with your colour, icon and shape.
- An opening message and an optional teaser bubble that appears after a delay.
- Live chat with your team, updating without a page refresh in both directions.
- AI replies, when you switch them on, using your agent’s knowledge.
- Buttons and list choices as real tappable controls, because the widget is the UI.
- File uploads from the visitor, and from your team in the Inbox.
- Typing indicators and read receipts, both ways.
- Conversation history that survives a page reload and a return visit.
- A pre-chat screen that collects details before the first message.
- Business hours, with an offline form or a plain “we’re away” message outside them.
What the visitor sees
The panel opens on a first screen with your header title and subtitle and, unless you chose a form, the built-in Send us a message screen asking for a name and mobile number (see Behaviour). Once they start, it becomes the conversation:- Your side is shown as one team — a round avatar in your accent colour carrying a chat mark, beside the header title and beside your replies. Individual members’ names and photos are not shown to the visitor.
- An online dot on that avatar while you are within business hours, or always when business hours are off.
- Messages group by sender. Consecutive messages from the same side sit close together, and the team avatar appears once, beside the last reply in a run.
- A typing indicator — three dots beside the team avatar while a member is writing.
- Receipts under the visitor’s own messages, once per run: a clock while it is sending, one tick when it has reached you, two ticks when someone on your team has read it. A message that could not be sent shows Not sent in red under that message, wherever it sits in the run.
- An unread count on the launcher when you reply while the panel is closed.
How it differs from the other channels
There is no reply window. Nobody imposes a re-engagement rule, so a conversation never
closes on you and there is nothing to re-open with a template. The Inbox composer shows no
window banner on a web conversation.
There are no broadcasts, and cannot be. A visitor is only reachable while their tab is
open, so there is no audience to send to. This is also why a contact who exists only on the
website cannot be messaged out of the blue.
Delivery ticks are honest here. The message either reached the visitor’s open
connection or it did not — unlike WhatsApp, which reports Meta’s opinion, and Instagram,
which reports nothing.
Flows are WhatsApp-only. Website chats run on
automations, which work on every channel and skip the individual
steps a channel cannot do.
How a visitor becomes a contact
The widget mints an anonymous visitor identity in the browser and keeps it, so somebody who asked a question yesterday comes back to the same thread rather than an empty box. That is the resume path, and it is the common case — most widget loads are a returning visitor. When the visitor gives you a phone number — through the built-in pre-chat screen or a form you chose — Watx looks for an existing contact with that number and uses it. Somebody who already reached you on WhatsApp and then types the same number into the widget is one contact, not two. If your own site has logged-in users, you can have your server vouch for who a visitor is, so a stranger cannot claim to be one of your customers and read their chat history. A misconfigured signature degrades to an anonymous chat rather than breaking the widget.Where things live
Install the widget
Allowed domains, the snippet, and how the channel goes live.
Widget settings
Colour, launcher, wording, AI replies and branding, with a live preview.
Behaviour
Pre-chat form, business hours, and what happens when you are away.
Sessions and analytics
Where your web chats came from, and how the channel is performing.