RinggWidgetConfig, the object you pass to <RinggWidget config />. Configure assistant behavior, tools and prompts in the dashboard; use this object for app-level runtime settings.
See React Native for installation and the integration steps.
Identity and auth
Panel content and mode
Variables
variables are forwarded to the assistant as custom_args_values and fill {{placeholders}} in its prompts. Values are sent verbatim, so strings, numbers, booleans, objects and arrays are all accepted.
Theme
theme accepts thirteen fields. Colors take any CSS color string; primaryColor and agentBubbleColor also accept CSS gradients.
fontFamily is 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.
Voice call view
Feedback screen
Set
bypassFeedbackScreen: true to skip the screen entirely.
Chat extras
Web-only options
These exist on the type because the config is shared with the web widget. They are ignored on React Native, where the panel sizes itself to the device.Defaults
Every optional field falls back to a shared default. These values are 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 not listed here fall back to the packaged Ringg palette.
Caller identity
The backend allow-lists an assistant’s callers by theOrigin header. Browsers attach one automatically, which is how domain whitelisting works for the web widget. Native HTTP sends nothing, so a webcall request without a caller identity is refused before authentication is even considered.
Add the value to the assistant’s allowed clients under Agent → Webcall → Install & domains in the dashboard. Application ids differ per platform and per build flavor (
.debug, .staging, .dev), so every build you ship needs its own entry. The value that was sent appears in the refused-call response, ready to paste.
On React Native, pass the identity explicitly. appOrigin builds the <platform>://<bundleId> string for you:
expo-application reports the same value if you would rather ask the OS, but it is native code, so adding it means rebuilding the app.