Docs

Everything you need to set up, configure, and get value from the Hi, I'm Kai conversation layer.

Configuring the Kai widget

This page explains every current Widget control, the two embed modes, allowed-origin behavior, and the visitor-facing footer.

What can I customize?

Customize how the widget looks and behaves from the Widget page. Configuration changes save after an 800 ms debounce, then the dashboard attempts to sync them to CDN/KV. A banner distinguishes a full sync from a database save whose live sync was skipped or failed.

The widget configuration is separate from the knowledge base. Appearance changes affect the user interface, while knowledge base changes affect the answers.

Which appearance settings are available?

SettingDescription
Primary colorMain widget accent, selected with a color control or hex text input.
Secondary colorSupporting accent, selected with a color control or hex text input.
PositionBottom right or Bottom left placement for floating mode.

Use appearance settings to make the widget feel native to your website while keeping the conversation interface easy to find.

Which messaging settings are available?

SettingDescription
Welcome messageGreeting shown when the chat panel opens for the first time.
Input placeholderHint text in the message input field.

Write messaging in the same voice as your website. Clear placeholder text helps visitors understand what they can ask.

Which visibility and feature controls are available?

ControlEffect
Hide widget / Show widgetChanges whether installed widgets are visible on allowed domains.
Voice enabledAllows visitors to speak questions aloud with a microphone.
Hide brandingRemoves the Powered by Kai Roses footer. Available only on Growth and Scale.

Free includes voice but has a shared 30-minute billing-period allowance and a 5-minute cap on each voice conversation. Growth and Scale have no per-conversation cap and can continue into paid voice overage after their included minutes.

How do allowed domains work?

Under Domains & features, add every origin where the embed should load. Add domain accepts a hostname or origin and normalizes it:

  • Regular hostnames default to HTTPS.
  • localhost and 127.0.0.1 default to HTTP.
  • Ports are preserved and must match the page origin.
  • Duplicate origins are rejected.

Each existing row has Remove; the final entry cannot be removed from the UI. The dashboard's own preview origins are authorized separately, so preview works without adding hiimkai.ai.

Which embed mode should I use?

  • Floating loads a launcher bubble in the configured corner and opens a chat panel when selected. Its generated snippet is one async script.
  • Inline embeds the iframe into a page container. Enter a Target selector such as #cl-widget; the generated snippet creates the container and passes that selector through data-target.

Select the mode before Copy install snippet, because the copied text always matches the current choice. See Installing the widget for placement examples.

How do I preview the widget?

Select Preview to open the selected site's chat in a dashboard modal. The preview authorizes microphone access and uses a preview session ID.

Use it to check colors, messaging, voice, and branding before copying the install snippet. Domain authorization is bypassed only for approved dashboard origins; it does not bypass the allowed-origin check on your own site.

What is Resolved config?

Resolved config is a read-only JSON summary of the site ID and name, colors, position, messaging, feature flags, visibility, allowed domains, and the first 300 characters of the knowledge-base summary. It is useful for confirming what the dashboard is about to publish, but it is not an editor.