Skip to main content
The Theming tab of the Widget Builder controls how the widget looks: the launcher button, the chat window, per-mode colors, and where the widget sits on the page. Everything you set here is stored under config.v1 on the widget. You can also auto-brand from a domain, which pulls colors and logos from your website and writes them into the same fields. This page is a reference for the appearance fields. For the message text, default mode, and quick actions, see Text, voice, and quick actions. To create the widget in the first place, see Creating a widget.
Editing appearance requires the web_widgets:manage scope. web_widgets:read is view-only.

Theme

The Theme select decides which color scheme the widget renders in. The value is stored at config.v1.theme.

Colours

Colors are defined separately for Light Mode and Dark Mode so the widget looks right in either theme. Each mode exposes the same four tokens. <mode> is light_mode or dark_mode. Each is a theme object with background_color and text_color maps. Leave a token empty to fall back to the built-in default for that mode.
Surfaces like the message background, header, input, and agent response text are fixed neutral colors and are not themed by these four tokens.

Launcher button

The launcher is the floating button visitors click to open the widget. Its fields live under config.v1.trigger.

Per-mode launcher overrides

By default the launcher uses the single backgroundColor and avatarUrl. Toggle Override dark mode or Override light mode to set mode-specific values under trigger.dark and trigger.light. Each override block accepts: When a mode override is set, it takes precedence over the top-level backgroundColor and avatarUrl for that mode.

Chat window

Turn on Use Avatar under Chat window to give the agent a custom avatar inside the open chat. You upload a Light Avatar (chat.avatar_url) and an optional Dark Avatar (chat.dark_avatar_url). When the chat avatar is disabled, the chat window falls back to the launcher avatar, or to the default Orb.

Position

The launcher is anchored to the bottom-right corner. Set its offsets in pixels under config.v1.position.

config.v1 structure

All appearance and content settings live under config.v1. The relevant shape:
The chat object also holds content fields that are not part of the Theming tab: See Text, voice, and quick actions for the content and mode fields.

Auto-Brand

Auto-Brand fills in colors and logos from a domain so you do not have to set them by hand. Enter a domain in the Auto-Brand box at the top of the Theming tab and fetch it. Anyreach looks up the domain through brand.dev and applies the result to config.v1.
1

Enter a domain

Type your website domain (for example example.com) and run the fetch. The protocol, www., and a trailing slash are stripped automatically.
2

Anyreach retrieves the brand

The platform calls brand.dev for that domain and returns the brand’s logos, colors, company info, and social links.
3

Values are applied to config.v1

The fetched data is merged into the current config. Review the result and click Save changes to keep it.

What Auto-Brand sets

Auto-Brand overwrites the color and avatar fields above. Other fields, such as name, welcome_title, and your launcher size and position, are preserved.

Endpoint

The Theming tab calls this endpoint behind the scenes. You can call it directly to fetch brand data for a domain.
The body takes a single domain field. The response is the brand object (logos, colors, company, socials) from brand.dev. The endpoint requires the web_widgets:manage scope. Applying that response to config.v1 happens client-side; the endpoint itself only fetches the brand data.
Replace {id} with the widget ID. User personal access tokens (pat_) must also send X-Anyreach-Org; organization API keys (ak_) carry their org implicitly and omit it.

Next steps

Text, voice, and quick actions

Configure welcome copy, default mode, and quick-action buttons.

Creating a widget

Create a widget and walk through the Widget Builder tabs.