Short answer: to add an AI chatbot to a Framer site, copy your chatbot's script tag, open your Framer project, go to Site Settings, then General, then Custom Code, paste the script into the End of body tag field, and publish. It takes a couple of minutes and you don't need a plugin or a developer.
What you need before you start
Three things.
A published Framer site, or one you're about to publish. Custom code only runs on the published site. It won't appear on the Framer canvas while you're editing, which trips people up constantly. If you don't see the widget in the editor, that's expected.
Your chatbot's script tag. In Clerkzo, you'll find it in your dashboard after you create a chatbot. It's a single line that looks like a script element with a src pointing at the widget and your unique chatbot ID.
Edit access to Site Settings. If someone else owns the Framer project, they'll need to do this step or give you access.
If you haven't set up a chatbot yet, do that first. Clerkzo trains by crawling your own website, so point it at your Framer site's URL, let it read your pages, and check the answers in the playground before you install anything. How it works covers the setup end to end.
How do you add the script to Framer?
Five steps.
1. Copy your script tag. From your Clerkzo dashboard, copy the install snippet exactly as given. Don't edit it, don't reformat it, and don't wrap it in anything.
2. Open Site Settings in Framer. In your Framer project, click the settings icon in the top-left panel, or open the project menu and choose Site Settings.
3. Find Custom Code. It's under the General tab in Site Settings. Framer gives you two fields: Start of head tag and End of body tag.
4. Paste into End of body tag. This is the one you want. Chat widgets go at the end of body so they load after your page content and never block your site from rendering. Pasting a widget script into the head field can slow down your first paint for no benefit.
5. Publish. Custom code is applied at publish time. Hit Publish, wait for it to finish, then open your live site URL in a new tab.
You should see the chat bubble in the corner within a second or two of the page loading.
What if the chatbot doesn't appear?
Work through these in order. One of them is almost always the answer.
You're looking at the canvas, not the published site. The most common cause by a wide margin. Custom code does not render inside the Framer editor. Open your actual live URL.
You didn't publish after pasting. Saving the setting isn't enough. Publish again.
You're on a staging URL that hasn't been republished. Framer staging and custom domain are separate publishes in some setups. Check the URL you're actually testing.
Browser cache. Hard refresh, or open the site in a private window.
The script got mangled on paste. Some clipboards helpfully convert straight quotes into curly quotes, which breaks the script silently. Delete the field contents, copy the snippet fresh, and paste again.
You pasted into the head field instead of end of body. Move it.
An ad blocker. Some blockers hide third-party widgets. Test in a private window with extensions disabled before concluding anything is broken.
If it's still not showing, open your browser's developer console on the live site and look for an error mentioning the script URL. That usually names the problem directly.
Will it slow down my Framer site?
Not meaningfully, if it's installed correctly at the end of body.
Framer sites are generally fast, and people are rightly protective of that. A widget loaded at the end of body loads after your content, so your page renders at its normal speed and the chat bubble appears a moment later. That's the correct trade.
One thing to check specifically on Framer: style bleed. Framer sites use heavily scoped CSS, and some third-party widgets inject global styles that collide with it. Clerkzo renders inside a Shadow DOM, which isolates the widget's styles from your site's completely, in both directions. Your Framer typography stays intact and the widget looks the way you configured it.
Speaking of which, you can theme the widget to match your Framer design in Widget Studio: 8 themes, light and dark modes, 3 shapes, and your own brand color. Worth doing before you publish, since a mismatched widget is the fastest way to make a beautiful Framer site look bolted together.
What should you set up after installing?
The install is the easy part. Two things make it actually useful.
Turn on lead capture. A chatbot that answers questions but never asks who's asking is doing half the job. Clerkzo can collect details conversationally, or show an in-chat form with the custom fields you pick, like phone number, service type, or postcode. Leads go into an inbox with a New to Contacted to Qualified to Won/Lost pipeline, and you can get notified by email, webhook, or Telegram. More on the mechanics in how to capture more leads from your website.
Read the first week of conversations. You'll find questions your Framer site doesn't answer. Fix the page, or upload a knowledge file to cover it. If the bot gets something wrong, flag the answer and type the correction, and it applies permanently.
That loop, install then correct then improve the site, is where the value actually shows up. See lead capture chatbot for how it fits together.
Frequently asked questions
Do I need a Framer plugin to add a chatbot?
No. Framer's built-in Custom Code field under Site Settings handles it. Paste the script into End of body tag and publish. That's the whole install.
Will the chatbot work on my Framer site's mobile version?
Yes. The widget is responsive and works on the same published site your mobile visitors see, since it's the same code. Test it on your phone after publishing anyway, because that's where most visitors will meet it.
Can I add the chatbot to only some pages?
Framer's site-wide custom code applies everywhere by default. If you need page-level control, the simplest approach is to keep it site-wide and use the chatbot's own settings to control behavior. Most small business sites are better off with it on every page anyway, since you can't predict which page someone lands on.