Skip to main content
RinggWidgetConfig controls how the widget looks and starts in your app; the agent’s prompt, voice and tools stay in the dashboard. Only agentId is required. Every other field falls back to a default generated from one source for all platforms, so the web, React Native and Flutter widgets behave identically when a field is left unset; theme values with no default listed fall back to the packaged Ringg palette. Pick your framework with the switcher next to the table of contents, and install the package first.
RinggWidgetConfig is the object you pass to <RinggWidget config /> from @ringg/react-native.

Identity and auth

authorization and clientOrigin ship inside your app and can be extracted from it. Use the agent’s webcall public key. The config type also accepts xApiKey; never put your workspace API key there, because it isn’t limited to one agent or to your Allowed clients.
string
required
The agent to load.
string
Bearer <webcall-public-key>, from the agent’s embed snippet.
string
Caller identity sent as Origin, built with appOrigin(BUNDLE_ID). Required for real calls; see Caller identity.
string
default:"prod"
Leave it unset.

Panel content and mode

string
default:"Ringg AI Support"
Heading on the start screen and header.
string
Supporting copy on the start screen.
"audio" | "text"
default:"audio"
Which mode the panel opens in.
boolean
default:"false"
Hides the audio/text switch, pinning the widget to defaultTab.
boolean
default:"false"
Mounts the panel already open, with no trigger.
boolean
default:"false"
A trigger tap starts the conversation in defaultTab immediately.
boolean
default:"false"
Skips the post-call rating screen.
string
Logo shown in the header.
PortableStyles
Sizing and background for the logo.
string[]
Words cycled in the pending-reply indicator.
Replaces the default legal text shown before a conversation. Words in text that match a key in links link to that URL.

Variables

variables fill the agent’s variables. Values are sent as given, so strings, numbers, booleans, objects and arrays all work. Set them at controller creation; to change them for a new conversation, create a new controller.

Theme

Colors take any CSS color string; primaryColor and agentBubbleColor also accept CSS gradients.
string
Accent for buttons, selected states and the trigger.
string
Text on primary-colored surfaces.
string
Panel background.
string
Cards, inputs and the user message bubble.
string
Agent bubble background. An empty string renders agent replies without a bubble.
string
Body text.
string
Secondary text.
string
Borders and dividers.
string
Validation and danger states.
string
Success states.
"rounded" | "pill" | "square"
Button corner style.
string
Global corner radius, for example "12px".
string
Font family, resolved against fonts registered in your app. React Native does not fetch web fonts, so load the family through Expo Font or your native font assets first.

Buttons

PortableStyles is the cross-platform style subset: height, width, backgroundColor, padding, borderRadius. Arbitrary CSS is not accepted, because these values are applied to native views.
PortableStyles
The floating trigger.
string
Custom trigger icon.
number
Icon size in points.
PortableStyles
The in-call mute button.
string
Label on the start-call button.
PortableStyles
Call button styling.
string
Label on the start-chat button.
PortableStyles
Chat button styling.

Voice call view

boolean
default:"false"
Shows the audio visualizer during a call. If you pass your own controller, pass room too.
boolean
default:"true"
Shows the live transcript during a call.

Feedback screen

string
Heading on the rating screen.
string
Supporting copy.
number
Number of stars offered.
{ filledColor, emptyColor }
Selected and unselected star colors.
string
Comment field placeholder.
string
Submit button label.
PortableStyles
Submit button styling.

Chat extras

SlashCommand[]
Commands offered in the composer, merged with any the agent returns at call start. Each is { tool_type, command, display_name, description }.
boolean
default:"false"
Shows inline pills in the thread when the agent fires a host action.
boolean
Appends the action id to each pill. Useful while debugging.
string
Sound played on an incoming reply. On React Native it plays only with a player wired through ports; see notification sound.

Web-only options

widgetPosition and innerWindowProps exist on the type because the config is shared with the web widget. They are ignored on React Native: the native layout places the trigger and panel, and there is no resizable window to size.