Widget Customization
Configure the widget's appearance, copy, behaviour, and channels from the dashboard.
The widget is configured per operator in the dashboard. Changes are applied the next time the widget loads — no redeploy on your side.
Appearance
| Setting | Effect |
|---|---|
| Primary / secondary colour | Accent colours for the launcher, buttons, and highlights |
| Font family | Typography inside the chat window |
| Border radius | Corner rounding of the launcher and window |
| Theme mode | auto, light, or dark. auto follows the visitor's operating system |
| Widget size | md (default) or lg |
| Custom CSS | Additional CSS for cases the presets don't cover |
Branding
Company name, agent name, avatar visibility, and whether the "powered by" badge is shown.
Messages
| Setting | Where it appears |
|---|---|
| Welcome message | First message in a new conversation |
| Placeholder text | The composer input hint |
| Typing indicator text | Shown while the AI composes an answer |
| Offline message | Shown outside your configured availability |
Behaviour
| Setting | Effect |
|---|---|
| Auto-open | Whether the window opens on page load |
| Auto-open delay | Seconds to wait before auto-opening |
| Close on outside click | Dismiss the window by clicking the page |
| Show on pages / Hide on pages | Page rules (e.g. hide on /checkout) |
Home screen and conversation starters
The home screen is what visitors see before the first message: logo, greeting, subtext, availability status and expected response time.
Conversation starters are suggested questions on that screen. You can enable them, cap how many are visible (maxVisible), and choose the display mode.
Contact info
Support email, phone, and URL — offered to visitors who want to reach a human.
Channels
The WhatsApp channel can be enabled per operator. Set the business number, a prefilled message, the CTA label, and where the CTA sits. See WhatsApp integration for the Meta-side setup.
GDPR and identity
| Setting | Purpose |
|---|---|
| GDPR consent | Show a consent message with accept button before the chat starts, linking to your privacy policy |
| Identity verification | Ask visitors to identify themselves before the conversation begins |
The AI disclosure notice ("Answers are generated by AI") is part of the product, not a setting — it is shown to comply with the EU AI Act's transparency requirements and cannot be restyled or removed from the widget.
Where configuration lives in code
If you build your own front end instead of embedding the widget, the same configuration is available as JSON — the theme and text values map to the widget's CSS custom properties (--solis-*). The widget applies configuration as inline styles, so theme values win over stylesheet rules; use the configuration options rather than overriding styles.