Chat Widget
Add a live-chat widget to your own website and let visitors start a conversation with your team in one click. Every chat lands in your Conversations inbox as its own channel, right alongside Email and WhatsApp, so your agents work from a single place.
What is the chat widget
The chat widget is a small chat bubble that sits in the corner of your website. When a visitor clicks it, they can send a message and get answers from your team in real time.
Behind the scenes, each widget chat becomes a conversation in your inbox. You reply, assign, tag, and resolve widget chats exactly like Email and WhatsApp — the only difference is where the message came from.
Setting up the widget
Create and configure the widget from Settings > Conversation channels.
- Open Settings > Conversation channels, click Add channel, and choose Widget
- Give the widget a name (for example, "Website Chat") so you can recognize it in the inbox
- Optionally pick a Ticket Email Channel — this is the email account used to follow up with visitors who leave before you reply
- Save to create the widget, then open its settings to finish the appearance and behavior
- Assign agents to the widget so live chats can be answered
Configuration options
Inside the widget settings, options are grouped into sections listed on the left, each with a short summary of what's set. A live preview on the right updates as you edit, so you see the result before you save.
| Section | Setting | What it controls |
|---|---|---|
| Appearance | Primary Color | The accent color of the chat bubble and header |
| Appearance | Position | Bottom-right or bottom-left of the page |
| Appearance | Default language | The language shown to visitors whose language you haven't added |
| Appearance | Branding | Header logo, avatar, bubble style, fonts, and header gradient |
| Messages | Welcome Message | The greeting visitors see when they open the widget |
| Messages | Proactive Messages | Pop-up nudges triggered by time on page, a URL match, or scroll depth |
| Messages | Quick Replies | One-tap starter buttons that send a pre-written message |
| Messages | Customize Labels | Reword the buttons and prompts visitors see |
| Behavior | Ticket Email Channel | Where visitor tickets and after-hours follow-ups are sent from |
| Behavior | Enable Pre-Chat Form | Ask for visitor details before the chat starts |
| Behavior | Identity verification | Trust signed-in customers identified by your website |
| Privacy & security | Allowed origins | Which domains can load the widget |
| Privacy & security | Require consent before chat | Visitors accept your privacy policy before chatting |
| Install | Embed Code | The snippet to paste into your website |
Widget languages
Offer the widget's content in more than one language. Visitors see the widget in their browser's language when you've added it, and in the Default language otherwise.
- In Appearance, set the Default language
- In the Content language bar above the sections, click Add language for each language you want to offer
- Select a language in the bar to write its welcome message, AI label, proactive messages, quick replies, and labels
Every other setting, such as colors, position, and message triggers, is shared across all languages. Any text you leave blank in a language falls back to the default language.
If enabled, click Translate with Henry to have Henry translate your default-language content into the languages you pick. Fields you edited by hand are kept. Translated fields are marked Auto-translated or Edited, and when you change the default-language text, its translations are marked Outdated — click Re-translate just these to update only those.
Adding the widget to your website
To make the widget appear, paste a small snippet into your website's HTML, just before the closing </body> tag. It loads without slowing your page down.
<script>
(function (w, d) {
w.WisePartsWidget =
w.WisePartsWidget ||
function () {
(w.WisePartsWidget.q = w.WisePartsWidget.q || []).push(arguments);
};
var s = d.createElement("script");
s.async = 1;
s.src = "https://your-wiseparts-domain/widget/loader.js";
s.dataset.workspaceId = "YOUR_WORKSPACE_ID";
d.head.appendChild(s);
})(window, document);
</script>
Identifying your visitors
By default, visitors are anonymous — they appear in your inbox with a short, friendly identifier. If you already know who the visitor is (for example, a customer signed in to your website), you can tell the widget who they are so their name and email show up on the conversation.
Add an identify call after the snippet, using the details you have:
<script>
WisePartsWidget("identify", {
external_id: "12345",
name: "Jane Smith",
email: "[email protected]",
});
</script>
Now the conversation in your inbox is labeled with the visitor's name instead of an anonymous identifier, giving your agents context before they reply.
Verified visitor identity
Anyone can claim to be anyone in a browser, so for signed-in customers you can turn on verified identity. Your website's server produces a tamper-proof, signed identity for the visitor, and WiseParts checks it before trusting the name and email.
Controlling the widget
You can open, close, and react to the widget from your own site using simple commands:
| Command | What it does |
|---|---|
WisePartsWidget('open') | Opens the chat window |
WisePartsWidget('close') | Closes the chat window |
WisePartsWidget('toggle') | Opens or closes it |
WisePartsWidget('show') | Shows the chat bubble |
WisePartsWidget('hide') | Hides the chat bubble |
WisePartsWidget('on', ...) | Runs your own code when chat events happen |
For example, you can wire up your own "Chat with us" button to call WisePartsWidget('open').
The visitor experience
When a visitor opens the widget, they see your welcome message and can start typing right away. Your team's live status is shown at the top, so visitors know whether to expect an instant reply or a follow-up later.
Consent and pre-chat form
You can ask visitors to agree to your privacy policy before they chat, and collect a few details up front:
- Consent gate — visitors accept your privacy policy (with a link to it) before starting
- Pre-chat form — ask for name, email, phone, or company, and mark any of them as required
Collecting an email up front means you can always follow up, even if the visitor leaves mid-conversation.
Proactive messages and quick replies
Give visitors a nudge or a head start:
- Proactive messages appear as a small pop-up after a set time on a page, on pages matching a URL, or once a visitor scrolls far enough
- Quick replies are one-tap buttons that send a pre-written message, so common questions start with a single click
When your team is offline
The widget knows when your team is available. When everyone is offline, it adapts so no message is lost:
- It prompts the visitor for an email sooner, so you have a way to reach them
- It can send an automated "we're away" reply that sets expectations
- If the visitor leaves before you reply, your reply is emailed to them and the conversation simply continues over email
Managing widget conversations
Widget chats behave like any other conversation in your inbox. You can assign them, tag them, snooze them, add private notes, and resolve them — and automatic assignment rules apply just as they do for Email and WhatsApp.
Visitors can also submit a ticket through the widget when your team is away. Tickets arrive in the inbox and are answered by email.
Before a ticket is created, the visitor confirms their email address: after filling in the form and clicking Continue, they receive a 6-digit code by email and enter it to submit. The code expires after a few minutes, and visitors can request a new one with Resend code. This keeps fake or mistyped addresses out of your inbox, so every ticket can be answered.
Privacy and security
The widget is built to protect both you and your visitors:
- Consent — require visitors to accept your privacy policy before chatting, and respect their browser's "Do Not Track" signal
- Verified identity — trust signed-in customers without risk of impersonation
- Abuse protection — ticket submissions are rate-limited with a friendly "try again shortly" message, and a quick human-verification check can appear if activity looks suspicious