Install
One script tag, no npm package, no build step. It loads nothing beyond a small launcher until a visitor actually opens the chat.
Get your snippet
Open your project in the dashboard, go to the Widget tab, and copy the snippet shown there. It already has your project id filled in. The generic form looks like this:
<script src="https://www.tekltalk.com/api/widget/YOUR_PROJECT_ID.js" async></script>Your project id is not a secret in the sense that a password is — it ships in your page source, because it has to. It is also not an open door: see allowed domains for how to restrict which sites may use it.
Where to put it
Anywhere in the page, on every page you want the chat to appear on. Immediately before the closing </body> tag is the conventional spot. The async attribute is part of the snippet on purpose — the script never blocks your page from rendering.
Common places to add it
- Plain HTML: paste it into your template or footer include so every page picks it up.
- WordPress: a footer-scripts plugin, or the theme editor’s
footer.php. - Shopify:
theme.liquid, before</body>. - Next.js, Nuxt, SvelteKit and similar: your root layout or document component. Use the framework’s script component if it has one, with a lazy or after-interactive strategy.
- Google Tag Manager: a Custom HTML tag firing on all pages works, though a direct install is one less thing between you and the widget when you are debugging it.
What the script actually does
It is deliberately small and deliberately isolated, because it runs inside someone else’s page.
- It creates one fixed-position element and attaches a shadow root to it. The launcher button and its styles live inside that shadow root, so your CSS cannot distort the launcher and the launcher’s CSS cannot touch your page.
- The chat panel itself is an iframe. Neither side’s scripts or styles can reach the other.
- The iframe’s
srcis not set until the first time a visitor opens the chat. Until then, nothing but the launcher is loaded. - It refuses to install twice. If the snippet ends up on the page more than once, you still get one launcher.
Verify it worked
- Load a page on your site in a fresh tab.
- Look for the launcher in the corner you configured — bottom right by default.
- Open it and ask something your site plainly answers. You should get a reply with one or more source links under it.
If nothing appears, Troubleshooting walks through the usual causes in order.
Removing it
Delete the script tag. There is nothing else to uninstall — no cookies are set on your domain by the launcher, and the only thing it stores on the visitor’s device is a flag recording that they have dismissed the teaser bubble.