Integrations
Add an AI chatbot to React or Next.js
No npm package, nothing in your bundle, nothing to keep on a version. One external script, loaded after hydration.
₹2,999/month · 20,000 messages · no per-seat or per-resolution fee
Chat widgets shipped as npm packages put someone else’s React tree inside yours: their state, their version constraints, their re-renders, and their bytes in your bundle. Eteon is an external script that mounts its own root, so none of that applies.
The practical consequence is that upgrading React, or Next, or your bundler, has nothing to do with the widget.
Next.js App Router
Render next/script in app/layout.js with strategy="afterInteractive", passing the bot id as a data attribute. Placing it in the root layout means every route gets it without a per-page import.
afterInteractive rather than beforeInteractive: the widget is not needed for first paint, and loading it early costs you the metric it would otherwise not touch.
Next.js Pages Router
Same component, rendered from pages/_app.js, or a plain tag in pages/_document.js just before the closing body element. Either works; _app.js is easier to reason about.
Plain React, Vite or Create React App
Paste the tag into index.html before the closing </body> tag: <script src="https://eteon.net/v1.js" data-bot-id="YOUR_BOT_ID" defer></script>
No hook, no effect, no cleanup. The script mounts its own container outside your React root, so it does not participate in your reconciliation and cannot be unmounted by a route change.
What it costs your page
The tag is deferred and the script mounts after your app is interactive. It does not block first paint, does not enter your JavaScript bundle, and does not add a dependency to your lockfile.
Frequently asked questions
Is there an npm package?
No, deliberately. A package would put the widget inside your dependency graph and your bundle for no benefit — the widget needs no access to your component tree.
Does it work with server-side rendering?
Yes. The script runs in the browser and does not participate in SSR, so it cannot cause a hydration mismatch.
Will it break on a client-side route change?
No. It mounts outside your React root and persists across navigations rather than being torn down and rebuilt.
Will the widget slow my React site down?
The tag is deferred, so the browser finishes laying out and painting your page before it is fetched or executed. Nothing about your page waits on it, and if it fails to load your site is unaffected.
Do I need a developer?
No. You copy one line from your Eteon dashboard and paste it into React's own code field. There is nothing to build, no package to install, and no framework requirement.
What does it cost?
Eteon Starter is ₹2,999 a month for 20,000 messages, with a 7-day free trial. There is no per-seat fee and no per-resolution fee, so a busy month costs the same per message as a quiet one.
Related
Build one on your own site
Enter a URL, talk to the bot it produces, and decide from that rather than from this page. No card required.