Android SDK
This guide explains how to install and configure WotNot’s Android SDK to embed the native chat widget inside your Android app.
Step 1: Add the SDK Package
1: Add dependency
Add the WotNot SDK and required Android libraries in your app-level build.gradle file:
dependencies {
// WotNot Chatbot SDK
implementation 'io.wotnot.android:chatbotsdk:1.0.3'
// Required Android dependencies
implementation 'androidx.core:core-ktx:1.13.1'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'com.google.android.material:material:1.12.0'
implementation 'androidx.constraintlayout:constraintlayout:2.2.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.8.7'
implementation 'androidx.fragment:fragment-ktx:1.8.5'
implementation 'androidx.activity:activity-ktx:1.9.3'
}1.2: Sync Gradle
In Android Studio:
File → Sync Project with Gradle Files
Or use the toolbar sync button
Step 3: Add required permissions
Add the following permissions to your AndroidManifest.xml:
Step 2: SDK Configuration
2.1 Create a WidgetConfig
The SDK requires a WidgetConfig object to initialize the chat widget.
Where to find these credentials
YOUR_BOT_ID — open the bot you want to embed, and copy the bot_id from the URL.

YOUR_ACCOUNT_ID — goto Settings > Account Settings and copy the account_id from the URL.

YOUR_ACCOUNT_KEY — Goto the bot list screen, open the embed option from context menu and copy the highlighted key.

Visitor key notes
If you don’t provide a visitorKey, the SDK auto-generates and persists one.
It’s recommended to provide the unique visitor key, as it helps uniquely identify each visitor and maintain their chats and session history.
Step 2: Initialize the SDK
Call wn.initialize() in your Application class or MainActivity.
IMPORTANT
Always initialize the SDK before launching any chat screen.
All required fields (botId, visitorKey, accountKey, accountId) must be present.
The SDK validates config and throws an exception on failure.
Step 3: Launching the chat screen
The SDK provides built-in functions to launch chat screens.
All functions optionally support useAnimation = true.
3.1 Conversation list screen
3.2 Conversation detail screen without key
3.2 Ending the conversation
Step 4: Theme customization
You can fully customize the look of the chat widget using WidgetTheme.
4.1 Theme options
accentPrimary
setAccentPrimary()
#0075ff
Buttons, headers, links
userMessageTextColor
setUserMessageTextColor()
#FFFFFF
User message text & timestamp
accentSecondary
setAccentSecondary()
#d4e3ffff
Secondary accents
gray8
setGray8()
#F2F5F8
Bot message background
botMessageTextColor
setBotMessageTextColor()
#1C1C1E
Bot text & timestamp
failurePrimary
setFailurePrimary()
#FF0000
Error messages
failureSecondary
setFailureSecondary()
#FFEBEE
Error states
4.2 Applying a theme
Complete integration example
Below is a full working example combining all steps:
Last updated
Was this helpful?