Skip to main content
You change how the widget looks on the desk, not in your snippet. Go to Appearance in the sidebar (/appearance). Owners and admins can edit; agents see the page read-only.

The live preview

The right side of the page is the real widget, running in a frame with your unsaved changes. It isn’t a mock-up, so it can’t drift from what visitors get. Use Open and Closed above the preview to switch between the open chat and the closed widget. Discard in the save bar puts back what’s saved.
Messages you send in the preview start real conversations in your inbox.
Changes apply when you press Save. Visitors see them within a minute (the widget’s settings are cached for 60 seconds), and you never need a new snippet. Reset to defaults puts every field back to its default in the form; it still needs Save. Logos are the exception: they’re saved as soon as you pick a file.

Form or Code

The Form / Code switch at the top of the page works like the Agent pages’ switch. Code shows desk.yaml, the desk’s settings as a file: these options, plus the AI’s switches, business hours and assignment. Edit it and press Save: it’s saved as a new version of the agent’s files, the changed settings go live, and Form shows them. Problems are listed under the file and nothing is saved until they’re fixed. Saving the form writes your changes into desk.yaml too. See desk.yaml.

Brand

Logos

Upload PNG, JPEG, WebP or GIF, up to 512 KB each. Remove deletes one. The Logo on dark backgrounds is used wherever the widget draws on a dark surface:
  • the island on its dark surface;
  • the chat in the dark theme (or Auto on a visitor’s dark system);
  • the round button, when your brand colour is dark enough to get white text.
Leave it empty and the main logo is used everywhere.

Brand colour and text

The widget picks readable text on your colour by itself: dark text (#1c1c1a) on light colours, white on dark ones. You don’t set a text colour. To use a different colour on one site, add data-color="#0f766e" to that site’s snippet. It overrides the desk’s colour there only.

Follow your site’s theme

If your site has its own light / dark switch, let the widget follow it. Put data-theme="dark" (or light, or auto for the visitor’s system) on the snippet for the first paint, and call JunDesk.setTheme("dark") or setTheme("light") whenever your switch changes. setTheme(null) goes back to the theme set here. See JavaScript API.

Mode and shape

Modes explains each mode and how to choose. The island always sits at the bottom centre, so it has no side to set.

Sound

With Play a sound for new replies on, the widget plays a short chime:
  • for a teammate’s reply, always, even with the chat open (it usually comes minutes later, when the visitor has looked away);
  • for an AI reply, only while the chat is closed or folded, or the visitor is on another tab.
Browsers only allow sound after the visitor has clicked or typed on the page, so the first chime can’t come before that. The widget plays at most one chime every 4 seconds, and never for the chat history it loads. Test sound plays the same chime on the desk.

Wording

Leave a field empty to use the default shown in it.

Suggested questions

Type one question per line, up to four. They show under the greeting in a new chat, as chips over the island’s question box, and typed out one by one in the island’s resting pill. Tapping one sends it as the visitor’s first message. Draft from your knowledge asks the AI to write the questions for you. It reads a small sample of your knowledge (source and page titles, the opening of a few documents, and your most common topics) and replaces the questions in the field. Nothing changes for visitors until you Save, so edit them first. Drafting needs some indexed knowledge and the AI turned on, with replies left under the monthly cap.

After the chat

Ask “How did we do?” when a conversation is resolved turns customer satisfaction ratings (CSAT) on or off. It’s on by default. When a conversation is resolved and someone (a teammate or the AI) has replied in it, the widget shows How did we do? with 👍 and 👎 under the chat. After a rating it asks “Anything to add?” with an optional comment (up to 1,000 characters). The visitor can skip or close it with ×.
  • One rating per resolution. If the visitor writes again, the chat reopens, and they can rate it again the next time it’s resolved.
  • Your team gets the rating, and any comment, as an internal note in the conversation.
  • Ratings feed the CSAT numbers in Reports.

Things that follow your settings elsewhere

Some of what visitors see isn’t on the Appearance page.

Business hours

Set hours under Settings → Inbox → Business hours (Business hours). Outside them:
  • the greeting card’s and chat header’s reply-time line says “We’re away · back when”, adding “The assistant can still help.” while the AI is on;
  • the island’s header shows “back when”;
  • the AI keeps answering, and visitors whose chat is with your team get your away message once.

Email capture

When a visitor is waiting for your team, the widget offers to take their email so you can reply after they’ve left. There’s no setting for it. It appears under the chat when the visitor’s last message has no reply yet and either:
  • you’re outside business hours (“We’re away right now. Get the reply by email?”),
  • nobody on the team has the desk open (“Nobody’s online right now.”), or
  • a minute has passed without a reply (“Sorry for the wait.”).
It’s never shown to identified customers (their email comes from your app) or to visitors who already left one. The email is saved on the contact and noted in the conversation for your team.

Proactive help and page openers

Chat widget → Behaviour → Proactive help controls when the widget reaches out first: after something breaks on the page (Debug context), or after a visitor spends time on a page (page openers). Their line replaces the greeting on the greeting card and shows as a nudge on the round button and the island.

Modes

The island and the chat window.

Business hours

Opening times and the away message.