Chat SDKs

Put Kustomer chat and the knowledge base in your website and mobile apps. Pick an SDK, compare what each platform supports, and see how identity, push and the server-side chat API fit together.

Kustomer Chat connects customers in your website or app with agents and AI assistants in Kustomer. Conversations are real Kustomer conversations: they show up in the agent's queue, run through your workflows and routing, and follow the customer across devices once you identify them.

Each SDK comes in two layers. The UI layer is a complete chat and knowledge base experience you can open with one call and style to your brand. The core layer is the headless API under it, for when you want to build your own interface.

Not building a customer-facing UI? To bring conversations from your own chat system or bot into Kustomer, use the server-side chat API.

Latest versions

SDKPackageVersionMinimum platform
Web widgethttps://cdn.kustomerapp.com/chat-web/widget.jsAlways current—
Web Corehttps://cdn.kustomerapp.com/chat-web/core.jsAlways current—
iOSkustomer-ios-spm or pod 'KustomerChat'8.3.0iOS 15
Androidcom.kustomer.chat:ui4.6.2API 24, Kotlin 2.2 toolchain
React Native@kustomer/chat-react-native6.3.6React Native 0.77, iOS 15.1, API 24

What each platform supports

CapabilityWeb widgetWeb CoreiOSAndroidReact Native
Prebuilt chat and knowledge base UIYes—YesYesYes (native UI)
Headless API for your own UI—YesYesYesCreate conversation only
Open a specific conversationYes—YesYesYes
Start a conversation with a first messageYesYesYesYesYes
AI assistantsYesYesYesYesYes
Identify customers with a JWTYesYesYesYesYes
Customer and conversation attributesYesYesYesYesYes
Unread countYesYesYesYesYes
Availability (business hours)YesYesYesYesYes
Typing indicators in your own UI—YesYesYes—
Knowledge base in your own UI—YesYesYes—
Satisfaction surveys in your own UI—Yes—Yes—
AttachmentsYesYesYesYesYes (native UI)
Import a conversation (handoff)YesYesYesYesYes
Push notifications——APNsFCMAPNs and FCM
Theme colorsKustomer settingsYour CSSAsset catalog or codeTheme attributesNative, per platform
Override UI stringsGreeting and messages, in KustomerYour UIKustomer.stringskus_* resourcesNative, per platform
Link previewsYesYesYesYesYes
History status filterYes—YesYesYes

Where a capability says "your own UI", the prebuilt UI already handles it; the column shows whether the headless API exposes it for custom builds.

How the pieces fit

  1. Configure chat in Kustomer

    Admins set chat's appearance, greeting, business hours, assistants and knowledge base per brand in Apps › Chat. The SDKs load these settings at startup, so most changes need no app release.

  2. Create a chat key

    Every SDK uses an API key with only the org.tracking role. It's meant to ship in your page or app, because that role only covers what a chat customer can do. Don't add other roles to it; the mobile SDKs reject keys that have them.

  3. Add the SDK and open chat

    Follow the quickstart for your platform. Out of the box, chat works for anonymous visitors.

  4. Identify signed-in customers

    Your server signs a short-lived JWT, and the SDK logs in with it, so conversations attach to the customer's profile and appear on all their devices. See Customer identity.

  5. Add push on mobile

    Upload your APNs key or Firebase service account in Kustomer and forward tokens from your app. See Push notifications.

For what happens between the SDK and Kustomer, with HTTPS requests for writes and a realtime channel for messages, typing and presence, see How chat works.

Choosing between UI and core

Use the prebuilt UI whenUse core when
You want chat live quickly, with Kustomer's tested UXChat has to look and behave exactly like the rest of your product
Admins should control branding and copy without releasesYou're embedding chat inside an existing screen rather than a sheet
You need the knowledge base, CSAT, attachments and assistants without extra workYou only need part of chat, such as unread counts or starting conversations

You can mix them: many apps use the prebuilt UI and only call core for unread counts or to start a conversation from a help button with context attached.