Widget Customization

Configure your chat widget's appearance, behavior, and messaging to match your brand and engage visitors effectively.

Appearance

Control how the widget looks on your site.

SettingOptionsDescription
Primary ColorAny hex valueSets the widget header, send button, and accent color. Match it to your brand (e.g. #2563eb).
Positionbottom-right, bottom-leftWhich corner of the page the widget appears in.
Chat VisibleOn / OffToggle the widget on or off without removing the embed code. Useful for maintenance or seasonal campaigns.
Tip: Use a color that has good contrast against white text. The widget header text is always white, so avoid very light colors.

Welcome Message

The welcome message is displayed when a visitor opens the chat for the first time and there are no existing messages.

How it works

  • Set the message in your default language (e.g. English)
  • The message is stored as a per-language map (JSON)
  • When a visitor opens the chat, the message is auto-translated to their browser language via Claude
  • Translated versions are cached, so subsequent visitors in the same language see it instantly

Example

You set the welcome message in English:

"Hi there! How can we help you today?"

A visitor with a French browser sees:

"Bonjour ! Comment pouvons-nous vous aider aujourd'hui ?"

Proactive Messaging

Proactive messages encourage visitors to start a conversation before they click the widget.

Modes

ModeBehavior
auto_openThe chat widget opens automatically on page load. Visitor sees the full chat window immediately.
attractA floating bubble appears next to the widget with your proactive message, drawing attention without being intrusive.

The proactive message is also per-language and auto-translated to the visitor's browser language, just like the welcome message.

Tip: The "attract" mode works well for e-commerce ("Need help choosing? Ask us!") while "auto_open" is better for support pages where visitors are already looking for help.

Fallback Message

The fallback message is shown to the visitor when they're being connected to an operator. It sets expectations about response time.

Details

  • Stored per-language, auto-translated like other messages
  • Shown when a conversation is waiting for an operator to join
  • Example: "Thanks for your message! One of our team members will be with you shortly."

Operator Language

Each widget has a default operator language. This is the language translations target when no specific operator is assigned to a conversation yet.

How it's used

  • Visitor sends a message in Spanish
  • No operator is assigned yet
  • The message is translated to the widget's operator language (e.g. English)
  • Once an operator claims the conversation, translations target that operator's personal language instead

Translation

Control whether messages are automatically translated for this widget.

SettingDescription
Translation EnabledMaster switch for this widget. When off, no messages are translated.
Translation ModelThe AI model used for translation. Haiku is recommended for the best balance of speed and cost.

When enabled, all messages are translated in both directions automatically — visitor messages are translated to the operator's language, and operator replies are translated to the visitor's language. See the Translation guide for full details.

Rate Limiting

Protect your widget from abuse with message rate limiting.

Configuration

  • Messages per minute — default is 20
  • Applies per visitor session
  • When the limit is hit, the visitor sees a localized "Please slow down" message in their language
  • Prevents spam and excessive token consumption

Allowed Origins

Restrict which domains can embed your widget for security.

How it works

  • Add the domains where your widget should work (e.g. https://yoursite.com)
  • The widget will only load on whitelisted domains
  • If the list is empty, the widget is allowed on any domain (no restriction)
  • Useful for preventing unauthorized use of your widget key on third-party sites
Security: For production use, always add your allowed origins. This prevents someone from copying your embed code and using your widget (and your tokens) on their own site.

Embed Code

Every widget has a unique embed code — a single script tag that you add to your website.

<script src="https://enuchat.com/widget/enuchat-v1.js"
        data-widget-key="wgt_your_key_here"></script>

Details

  • The data-widget-key attribute identifies your widget
  • The script loads asynchronously — it won't block your page
  • Place it just before </body> in your HTML
  • The widget key is safe to expose in client-side code — it can only be used to start chat sessions, not access your dashboard

Ready to customize your widget?

Create your free account and have a branded chat widget live in minutes.

Get Started Free