Overview
The CallKaro Website Widget places a live voice agent on any web page. A visitor clicks the launcher, speaks, and gets answers straight away — no phone call, no app to install, no form to fill in. Installation is one line of HTML containing a single public widget id. There is no API key in your page and no server-side code to write.Everything about the widget — which agent answers, its name, greeting, icon,
colours and languages — is configured in the dashboard. Once the snippet is on
your site, you never have to edit your website again to change any of it.
How It Works
1
Create a widget
In the dashboard, pick the agent that should answer and give the widget a
name, greeting and branding. You get a unique widget id.
2
Paste one line
Add the script tag to your site, just before the closing
</body> tag.3
Visitors talk to your agent
A launcher button appears in the corner of your site. Clicking it opens the
conversation panel, and pressing Talk starts a live voice session.
Create a widget
Set up your first widget in the dashboard
Install on your website
Snippets for HTML, React, Next.js, WordPress and more
What Visitors Get
Real-Time Voice
Visitors speak and the agent answers out loud, using the same voice pipeline as your phone calls.Live Transcript
The conversation is written out as it happens. Useful in noisy environments, for visitors who prefer to read, and for accessibility.Their Choice Of Language
If you enable more than one language on a widget, the visitor picks before starting. With one language, the selector is hidden entirely.Your Branding
Custom display name, greeting, icon, colours, and a launcher on whichever side of the screen you prefer.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.Most visitors never open the widget, so for them the entire cost is a 1.6 KB
script. The conversation interface and the voice engine are only fetched when
somebody actually engages.
How It Stays Isolated From Your Site
The widget is deliberately built so it cannot interfere with your website:- The launcher renders in a shadow root. Your site’s CSS cannot reach inside it, and the widget’s styles cannot leak out onto your page.
- The conversation panel runs in an iframe. It brings its own JavaScript framework, so it can never conflict with the version your site uses.
- No secrets in your page. The snippet carries a public widget id and nothing else — no API key, and nothing that identifies your account.
Requirements
Your website must be served over HTTPS
Your website must be served over HTTPS
Browsers only grant microphone access on secure origins. On an
http:// page the launcher and panel will appear, but starting a
conversation will fail.http://localhost is treated as secure, so local development works without
a certificate.Visitors need a modern browser and a microphone
Visitors need a modern browser and a microphone
Chrome, Edge, Safari and Firefox are all supported, on desktop and mobile.The browser asks the visitor’s permission before any audio is captured, and
they are free to decline — nothing is recorded until they accept.
You need a published agent
You need a published agent
A widget points at one of your existing voice agents. If you have not built
one yet, start with
how to set up an agent.
Conversations Are Ordinary Calls
A conversation started from the widget runs through the same calling pipeline as the rest of your CallKaro calls. That means it behaves exactly like any other call on your account:- It appears in Call History with a full transcript and recording.
- It counts towards your usage and is billed like your other calls.
- It flows into your analytics and audit reports.
Next Steps
Customization
Names, greetings, icons, colours, position and languages
Troubleshooting
Fixes for the most common installation problems
JavaScript API
Open the widget from your own buttons and track events
Contact Support
Get help with setup or integration