Widget Customization Source Boundary
Current checked-in widget configuration and defaults
Widget appearance is stored in tenant-wide configuration, while public installations are workspace-scoped. The source is locally wired but the widget is not currently installable because its schema and artifact-publication contract are unavailable.
Supported settings
In current source, Settings > Widget can edit:
- enabled state;
- primary colour;
- bottom-right or bottom-left position;
- greeting and input placeholder;
- up to ten pre-chat fields;
- structured intake-media availability and maximum size.
The primary colour must be a 3-, 6-, or 8-digit hexadecimal value such as
#3b82f6. Arbitrary CSS colour expressions are rejected by the server schema.
Defaults
- The tenant widget defaults to disabled.
- File and intake-media controls default to unavailable. A saved
fileUploadsEnabled: trueis required; legacy or missing-field configuration fails closed. - The default maximum file size used by current UI source is 5 MiB and the server permits configured values from 1 KiB through 10 MiB.
These defaults do not prove that browser upload or storage works.
Pre-chat fields
Source supports text, email, select, and textarea fields. IDs must use
lowercase letters, digits, and underscores. Required values are checked before
chat creation. In chat mode, current source prepends collected values to the
first message rather than persisting them as separately proven structured
ticket fields.
Layout and localization
The bundle uses Shadow DOM isolation and includes English, Spanish, French, German, and Portuguese string tables. Browser rendering, accessibility, responsive layout, and translation quality have not been product-verified.
Custom CSS injection, custom fonts, and enterprise theme overrides are not implemented configuration promises and are intentionally not advertised.
Installation management
An authorized settings user can reserve an exact-origin public installation ID. Each enabled, unrevoked installation shows the copyable install snippet for that ID — see Widget Installation Boundary.