Add an AI chat widget to Wix
A chat agent that answers from your own content, floating in the corner of every page on Wix — with 200 conversations a month included on the $19 plan, and a person able to take over at any point.
Free plan, no card. Paid plans start at $19 a month.
Why do it this way on Wix
This is the one combination on Wix where the install method is not a preference. Wix’s embed element is a sandboxed iframe, so a floating launcher put there is pinned to the frame’s own viewport — it stays trapped inside the rectangle you dragged out, cannot overlay the header or footer, and disappears when the visitor changes page. The chat launcher has to go through Settings → Custom Code, which injects into the real page. That route requires a published site with a connected domain, which in turn requires a paid Wix plan — so on a free wixsite.com address, a floating chat widget is not available at all. Better you know that now than after you have built the agent.
See it working
There is a live one on this page already. The chat button in the bottom corner is a Sorraia AI chat agent — ours, answering from this site’s own content — installed exactly the way the steps above describe. Open it and ask it something.
How to add an AI chat widget to Wix
A floating launcher cannot go in the embed element. Wix’s embed is a sandboxed iframe, so a fixed-position launcher pins to the iframe’s own viewport and stays trapped inside the rectangle you drew — clipped, stuck on one page, and unable to overlay the header or footer. Site-wide Custom Code injects into the real page instead.
Wix’s Embed HTML element works on any Wix site, free plans included. Site-wide Custom Code is different: Wix requires a published site with a connected domain, and a domain can only be connected on a paid Wix Premium or Studio plan. On a free wixsite.com address there is no way to inject a script into every page — which means a floating launcher is not available there at all.
In Sorraia, add the website and verify it — a DNS TXT record, or a meta tag in your homepage’s <head>. Verification is what lets you attach a widget to that site, so it comes before there is anything to paste.
Save the agent, then copy the snippet from the Embed code box in the right-hand panel of the chat builder. (Chat has no install wizard — the box is the whole thing.)
Publish the site and connect a custom domain first. Wix requires both before Custom Code is available at all, and connecting a domain requires a paid plan.
In the site dashboard, go to Settings → Custom Code (in the Development & integrations section) and click + Add Custom Code.
Paste the Sorraia snippet, give it a name, set “Add Code to Pages” to All pages, and load it once per visit.
Under “Place Code in”, choose Body – end, click Apply, then open the published site. Custom Code does not run in the editor or in preview, so that is the only place you will see it.
What you get
A chat agent that answers from your own content, floating in the corner of every page on Wix — with 200 conversations a month included on the $19 plan, and a person able to take over at any point.
200 conversations a month on the $19 plan
The monthly allowance is 25 conversations on Free, 200 on Starter at $19/month, 1,000 on Growth, 5,000 on Business and 20,000 on Enterprise. A conversation counts once when it starts, not per message, and the counter resets at the start of each UTC month.
Past the cap it keeps answering, at a price you can see
On any paid plan the agent carries on past its allowance at $15 per 100 additional conversations — or part of 100, so one conversation over the line is one $15 pack, and we would rather say that than let you discover it on an invoice. Every account also carries a ceiling on how many packs it will buy, defaulting to ten ($150 of extra exposure), and at the ceiling the widget behaves exactly as it does with overage switched off. Free does not run an overage; it stops at 25.
It says it is an AI, always
Every conversation opens with a line naming the agent as your business’s AI assistant and noting that a human can take over. That line is not a setting — the widget will not render without it. When someone from your team does take over, the status changes to say so.
It answers from your site, not from the open internet
The agent is grounded in your own content, which is why it can answer a question about your pricing or your opening hours and will not invent a policy you never wrote. If a calendar is wired up it can also take a booking mid-conversation — and it only claims it can book when one actually is.
More detail in the Help Center: The AI chat agent · Embedding on your website
Things worth knowing about Wix
- The embed element is a genuinely sandboxed iframe. Wix documents this outright, and it is why anything inside is confined to its rectangle and cannot paint over the surrounding page.
- No auto-height. The box is whatever you dragged it to; taller content is cut off with scrollbars. Swapping fixed pixel dimensions for 100% only fills the box you drew — it does not make the box fit the content.
- Mobile is a separate editing view, so every inline embed effectively has to be sized twice.
- Custom Code is invisible in the editor and does not run in preview. It only executes on the published site, so anyone testing in the editor will report the widget as broken.
- Only HTTPS embeds render — an http:// script is silently not displayed.
- Do not plan to load the widget through a tag manager pasted into Custom Code. Wix states that Google Analytics, Google Tag Manager and the Facebook and TikTok pixels do not work through custom code and have to be connected through Marketing Integrations instead.
Questions
What happens when I hit the monthly conversation limit?
On a paid plan, nothing visible: the agent keeps answering and the extra conversations bill at $15 per 100 — rounded up to the next pack — capped by a per-account pack ceiling you control, ten by default. On Free it stops starting new conversations for the rest of the month, and the widget degrades rather than vanishing: the panel still opens, the disclosure line corrects itself to say the assistant is offline, the message box is disabled, and your WhatsApp and email handoffs are surfaced instead. A conversation already in progress is never cut off. The visitor is never shown your plan, your usage, or the reason.
Will visitors know they are talking to an AI?
Yes, by design. The disclosure line is always rendered — it names your business, says “AI assistant”, and tells the visitor a human can step in — and it cannot be switched off in the builder. If a teammate takes the conversation over, the widget stops describing itself as the AI and says the team is live.
Can a person take over a conversation?
Yes, and the visitor is told both times. Pick up any live conversation from the Conversations page and the widget posts “A team member has joined the conversation.” and switches its status from “AI assistant · replies instantly” to “Live · with the team”. Hand it back and it says so. If whoever took over walks away, the conversation returns to the AI on its own after about ten idle minutes rather than leaving the visitor waiting on someone who has gone.
Do I need a paid Wix plan?
For an inline widget, no — the Embed HTML element works on any Wix site. For anything that has to appear on every page, yes: Wix only allows site-wide Custom Code on a published site with a connected domain, and connecting a domain requires a paid Wix Premium or Studio plan.
My widget is cut off inside a box on Wix. How do I fix it?
That is the iframe, not the widget. Wix renders embedded code inside a sandboxed frame sized by the handles you dragged in the editor, and anything taller is clipped with scrollbars. Drag the element taller — and remember to size it again in the mobile view, because that is edited separately. A widget whose height changes as the visitor uses it (a calendar opening a time list, for example) needs the box sized for its tallest state.
Add an AI chat widget to Wix
Build it in Sorraia, paste one line into your Wix site, and change it later without touching the embed again.