Skip to content
RosettaChat

Configuration & appearance

Most of the widget is configured server-side in Settings → Web chat, so it applies everywhere the widget is embedded without touching the snippet. The panel is the single source of truth for theme; loader data-* attributes are per-page overrides.

The theme is three optional hex colors, applied to the panel via CSS variables (text automatically picks a readable contrast):

FieldApplies to
theme.primaryHeader and primary accents.
theme.primaryTextText/icons drawn on the primary color.
theme.launcherThe launcher button color.

Each is a #rrggbb (or #rgb) hex value; leave any of them unset to fall back to the default palette. The loader’s data-theme-color only sets the launcher’s instant color before the panel loads and reports the resolved theme back.

branding_enabled toggles a small “Powered by RosettaChat” footer in the panel. Paid support plans may turn it off.

An optional automatic first message:

  • greeting_enabled — show a greeting when the panel opens.
  • greeting_text — the message, authored once in greeting_language.
  • greeting_language — the language you wrote it in; it is translated into the visitor’s language like any other message.

pre_chat_fields collects visitor details (e.g. name, email) before the conversation starts. Captured values ride along with the conversation and appear in the agent inbox.

Set accepting_chats to control whether the widget is available for a live conversation. When it is off, the panel shows an offline email-capture flow instead of starting a chat.

proactive_rules can open the panel with a teaser on matching pages. Each rule contains:

FieldDescription
url_patternA full-page URL pattern; use * as a wildcard, e.g. https://shop.example.com/pricing*.
delay_secondsSeconds to wait before showing the teaser (0–3600).
messageThe teaser shown to the visitor (up to 500 characters).

At most 20 rules are allowed. The loader evaluates them in the embedding page, opens the widget at most once per page load, and cancels a pending trigger when the visitor opens the widget themselves.

allowed_origins is the list of parent sites where you embed the widget — your own site origins, each an exact scheme + host (e.g. https://shop.example.com). A page whose origin is not on the list is refused, so the widget only runs where you intend.

You do not need to add RosettaChat’s own widget domain (widget.rosettachat.app) — the chat panel is first-party and always trusted.

Set per embed with data-position (left | right) and data-language. data-language accepts a BCP-47 language tag and is resolved against the workspace’s supported languages; without it, the widget uses the visitor’s browser language preferences. See the quickstart.