Overview
When the widget boots it fetches appearance configuration from:Full example
Top-level fields
| Field | Type | Default | Description |
|---|---|---|---|
name | string | "Voice Assistant" | Display name shown in the panel header. |
subtitle | string | "" | Subtitle line below the name. |
logo_url | string | "" | URL for the agent avatar / logo image. |
fab_label | string | "" | Text on the floating action button. Empty = icon only. |
fab_sublabel | string | "" | Secondary text below the FAB label. |
start_button_text | string | "Start Call" | Label on the call-start button. |
powered_by_text | string | "Powered by Oshara" | Attribution text shown at the bottom of the panel. |
powered_by_url | string | "https://oshara.ai" | Link target for the attribution text. |
max_call_seconds | number | 0 | Hard call time limit in seconds. 0 = no limit. |
terms_url | string | "" | URL to your Terms & Conditions page. Empty = consent step skipped. |
terms_label | string | "Terms & Conditions" | Link text for the T&C URL. |
consent_text | string | "By starting the call you agree to our" | Text shown before the T&C link. |
show_audio_settings | boolean | true | Show the mic/speaker/noise-cancel settings drawer. |
default_language | string | "en" | Language pre-selected in the language picker. |
theme object
| Field | Type | Default | Description |
|---|---|---|---|
primary_color | hex string | "#6366F1" | Primary brand color — buttons, FAB background, accents. |
accent_color | hex string | "#22D3EE" | Secondary accent color — loading rings, highlights. |
background_color | hex string | "#FFFFFF" | Panel background. |
text_color | hex string | "#0F172A" | Primary text color. |
user_bubble_color | hex string | "#6366F1" | Background of the user’s transcript bubbles. |
user_bubble_text_color | hex string | "#FFFFFF" | Text color inside user bubbles. |
agent_bubble_color | hex string | "#F1F5F9" | Background of agent transcript bubbles. |
agent_bubble_text_color | hex string | "#0F172A" | Text color inside agent bubbles. |
dimensions object
| Field | Type | Default | Description |
|---|---|---|---|
fab_size | number (px) | 64 | Diameter of the floating action button. |
panel_width | number (px) | 380 | Width of the voice panel. |
panel_height | number (px) | 620 | Height of the voice panel. |
border_radius | number (px) | 24 | Corner radius applied to the panel and FAB. |
layout object
| Field | Type | Default | Description |
|---|---|---|---|
position | "bottom-right" | "bottom-left" | "top-right" | "top-left" | "bottom-right" | Screen corner where the FAB and panel are anchored. |
font_family | string | "" | CSS font-family stack applied to the panel (e.g. "Inter, sans-serif"). Empty = inherit page font. |
labels object
All labels are optional. Any omitted field falls back to its English default.
| Field | Default |
|---|---|
idle | "Idle" |
connecting | "Connecting…" |
listening | "Listening" |
speaking | "Speaking…" |
muted | "Microphone muted" |
call_ended | "Call ended" |
transcript_placeholder | "Your conversation will appear here" |
language_label | "Language" |
languages array
Populates the language picker shown in the panel. Each entry:
| Field | Description |
|---|---|
code | BCP-47 language code passed to STT/TTS (e.g. "en", "ne", "es"). |
label | English name displayed to developers / admins. |
native_label | Name in the language’s own script — shown in the picker. |
