A voice agent on your website, in one script tag.
CallKaro Widget puts a live, talking AI agent on any page. Visitors click, speak, and get answers instantly — no phone call, no app to install, no form to fill in. Building for a mobile app instead? Chat agents are one URL, no SDK.
<script src="https://widget.callkaro.ai/w.js" data-ck-id="your-widget-id" defer></script>
How it works
Create a widget in your dashboard, paste one line into your site, and you're live. Everything else is configured on our side.
Create a widget
Choose which of your agents answers, then set the display name, greeting, colours and icon.
Paste one line
Add the script tag before your closing </body>. No API key, no server-side code.
Change it any time
Update the agent, wording or branding from the dashboard. Your website is never edited again.
Chat agents, for the app you already have
The same dashboard also builds chat agents. Where the voice widget is a script tag for your website, a chat agent is a single URL you open in whatever web view your app already ships with — so there is no SDK from us to install, version or support, and no app-store release when the conversation changes.
https://widget.callkaro.ai/chat.html?w=your-widget-id
Answers that never drift
A chat agent is a flow you draw: a message and the buttons that answer it, branching into the next step. No model in the loop, so every visitor gets the same answer and a conversation costs nothing per message.
Ask the model when it helps
Add an AI step where a scripted answer will not do, and it hands back to the flow when it is done. Call your own API, run your own Python, show an image or a file, save what you learn to the contact record.
A person when it matters
Any step can pass the conversation to your team. It routes to whoever is available and holding the fewest chats, they reply from the dashboard, and the assistant picks up again when they are done.
One line per platform
iOS opens it in SFSafariViewController, Android in Chrome Custom
Tabs, React Native in a WebView, Flutter in
webview_flutter. The same URL works in a browser too.
They pick up where they left off
A conversation survives the app being closed, the phone being reopened, even a reinstall. Visitors get their earlier conversations back, and a reply from your team reaches them while they are still looking at the screen.
What you get
Everything the widget does, out of the box.
Real-time voice
Natural spoken conversation with barge-in, so visitors can interrupt and still be understood.
Live transcript
The conversation is written out as it happens, so anyone can follow along or read back.
Multilingual
Offer several languages on one widget and let the visitor pick before they start.
Your branding
Custom name, greeting, icon, colours, and a launcher on whichever side you prefer.
Style isolated
The launcher renders in a shadow root and the panel in an iframe, so your CSS and ours never collide.
Many widgets, one account
Run different agents on different sites or pages, each with its own look and its own id.
Built to stay out of the way
The widget is engineered so it never becomes your site's performance problem. Nothing heavy loads until a visitor chooses to use it.
| What loads | When | Size |
|---|---|---|
Launcher script w.js | On page load | ~1.6 KB gzipped |
| Widget interface | When a visitor opens it | ~9 KB gzipped |
| Voice engine | When a visitor starts talking | Deferred until needed |
No secrets in your page
The snippet carries a public widget id and nothing else — never an API key, and nothing that identifies your account.
Accessible by default
Keyboard reachable, properly labelled controls, and it honours reduced-motion preferences.
Documentation
Guides and references for the whole CallKaro platform.
Getting started
Set up your account, build your first agent and place your first call.
Read guide →Agents
Agent modes, prompts, models, voices and versioning explained.
Read guide →API reference
Every endpoint for agents, calls, contacts and reporting.
Read reference →Phone numbers
Buy, verify and attach numbers for inbound and outbound calling.
Read guide →Batch calling
Run campaigns across large contact lists with retries and scheduling.
Read guide →Webhooks
Receive call outcomes and transcripts in your own systems.
Read guide →Ready to add one?
Create a widget from your CallKaro dashboard and copy the snippet.