key | Public routing key in the format workspace_id:channel_id. |
host | Optional Sagepilot host override. Most apps should omit this unless Sagepilot provides a dedicated endpoint. |
widgetHost | Optional hosted widget origin override. Use only when Sagepilot provides a separate widget endpoint. |
headers | Additional headers for SDK service requests. Do not pass server API keys or long-lived secrets from a mobile app. |
fetch | Custom fetch implementation for runtimes that need one. |
tokenStorage | Secure storage adapter for SDK-created customer session tokens. |
cacheStorage | Optional durable cache adapter used by SDK features such as native file-picker batch recovery. |
filePicker | Optional native picker adapter. Use createSagepilotCameraXFilePicker() from the CameraX addon or createSagepilotFilePicker(...) with app-provided picker modules. |
fileStore | Optional native file-store adapter created with createSagepilotFileStore(...) for durable picked-file bytes. |
anonymousId | Optional stable anonymous identifier sent when the SDK creates a customer session. |
metadata | Optional app metadata merged into the session creation payload. |
deviceInfo | Optional adapter that returns device metadata to include during session creation. |
presentation.style | Modal presentation style: "sheet", "fullScreen", or "push". |
presentation.mobile | Adds mobile=1 to the hosted widget URL. Defaults to true for React Native. |
presentation.showCloseButton | Controls whether the provider renders a native close button around the WebView. Defaults to false so the hosted Sagepilot widget owns close behavior. |
theme.accentColor | Primary brand color used as the fallback launcher button color. |
theme.logoUrl | Optional brand logo URL exposed in SDK theme state. |
theme.preferredColorScheme | Optional hosted chat color scheme hint: "light", "dark", or "system". |
theme.launcher | Optional chat launcher icon, label, and badge color configuration. |
behavior.preloadWebView | Preloads a hidden hosted chat WebView after configuration. |
behavior.enableUnreadPolling | Starts or disables automatic unread-count polling after configuration. |
behavior.unreadPollIntervalMs | Sets the unread polling interval in milliseconds. |
behavior.waitForIdentifyBeforeComposer | When true, presentMessageComposer() waits up to 60 seconds for an in-flight identify() call before opening. Defaults to false. |