Kavchat developer docs
Kavchat is a support chat that answers from scripts you write. There is no language model: the published script runs on the visitor's device, so answers are fast, predictable and keep working offline. This guide shows how the pieces fit together and where to start.
How Kavchat fits together
- The dashboard. You and your team sign in at app.kavchat.com. Every workspace has a public key (
pk_live_...) and a secret key (sk_live_...), both on the Install page. - Scripts. In the visual editor you build scripts: steps with a message, buttons and keywords. Buttons lead to another step, another script, a link, a screen in your app, or the contact form.
- Publish. Publishing saves the scripts as a numbered release. You choose who sees the bot: off, testers only (by phone number), or everyone. You can restore an earlier release at any time, without an app update.
- The widget or an SDK. Your website loads the widget with the public key, and your app uses one of the mobile SDKs. They download the published release, cache it on the device and run the conversation there.
- An identity token (optional). When a user is signed in, your server signs a short JWT with the secret key. Kavchat then attaches your user id to the conversation and the request, and can show a testers-only bot to the right people.
- Requests and the webhook. When the script cannot help, the contact form opens a request with the conversation attached. It shows up in the dashboard inbox and, on Premium, is sent to your system by a signed webhook. Your backend can also read and close requests with the Server API.
Two keys, two places
| Key | Where it goes | Used for |
|---|---|---|
pk_live_... public key | Your web pages and apps. Safe to ship. | Loading the bot, reporting the conversation path, opening requests. |
sk_live_... secret key | Your backend only. Never in a browser or an app. | Signing identity tokens, verifying webhooks, calling the Server API. |
Quick start
For a website, this line before </body> is all you need. Copy it with your own key from the Install page in the dashboard:
<script src="https://cdn.kavchat.com/v1/kavchat.js" data-key="pk_live_..." async></script>Publish a script, set the audience to everyone (or to your test phone numbers), and reload the page.
Guides
Buttons and questions
Short buttons and full questions in each step, with search for longer lists of topics.
Website widget
One script tag, optional JavaScript API, events and CSP.
React Native
Provider, chat screen and floating launcher. Works in any React Native app (0.72+), with or without Expo.
Flutter
A controller, a launcher and a chat screen, with RTL built in.
iOS
Swift package with SwiftUI and UIKit views. iOS 15 or later.
Android
Jetpack Compose components and an activity for Views. API 23 or later.
Identify users
Sign a short-lived token on your server. Examples in 7 languages.
Webhooks
Get every new request in your system, signed. Premium.
Server API
Tickets, reports, audience and releases from your backend.
Need help?
Email support@kavchat.com. The full API is described in openapi.yaml (OpenAPI 3.1).