Hosted page vs website widget
Same knowledge, same credits, same conversations — different identification, different access control, different plans.
Browse topics
What it is
Two ways to put the same chatbot in front of visitors:
The hosted page is a full-page chat at /agent/{handle}, hosted by Agentency. You share a URL.
The website widget is a chat bubble on your site, added with a small script. Visitors never leave your page.
They share everything that matters — the same knowledge, the same instructions, the same call actions, the same message credits, the same conversation list. What differs is how the chatbot is identified, how access is controlled, and which plans include it.
When you would use it
Read this when you are choosing a launch route, or when one surface works and the other does not and you want to know why.
Where to find it
Both live under Dashboard → Chatbots → your chatbot → Integrations. The hosted page is Messaging → Direct link; the widget is the Web section.
The comparison
| Hosted page | Website widget | |
|---|---|---|
| Where visitors are | An Agentency URL | Your own website |
| How the chatbot is identified | The handle in the URL | A token in the embed script |
| How access is controlled | Optional gate: public, secret link, password, or accounts | The token plus your allowed-domain list |
| Setup | Copy a URL | Paste a script into your site |
| Plan | Every plan, including Free | Paid |
| When the chatbot is inactive | 404 | Blocked, not a 404 |
| Message credits | Shared | Shared |
Which should I use?
Use the hosted page if you are on Free, you cannot edit your website's theme, you want something working in five minutes, you need a link for a QR code or a bio, or you want to gate access per person.
Use the widget if you want visitors to stay on your site, you want the chat available on every page without a click away, and you are on a paid plan.
Use both if — and this is what most people end up doing. The link is your out-of-band route: support emails, social, print. The widget is your on-site route. They cost the same per conversation and they answer identically.
Order of operations that works well: share the link first, watch a few real conversations, fix the knowledge gaps you find, then add the widget once the answers are good.
Both need the chatbot to be Active
Neither surface works on a draft or paused chatbot. They fail differently, and knowing which failure you are looking at saves time:
- Hosted page: a 404. The URL behaves as though it does not exist, which is deliberate — an unfinished chatbot should not be discoverable.
- Widget: the bubble does not appear, or appears and refuses to talk. Not a 404, because the page it sits on is yours and is perfectly fine.
Both also need trained knowledge, or they will load and explain that they cannot answer yet. See The hosted page says the chatbot is not ready.
Access control is not shared
The most common misunderstanding on this page, so it is worth being explicit.
Putting a password or a set of accounts on the hosted page does nothing to the widget. They are protected by different mechanisms:
- The hosted page's gate is about who the visitor is. See Control who can open the hosted page.
- The widget's protection is about which website the chat is running on — its token plus an allowed-domain list. See Allow the widget on your domains.
So a chatbot can simultaneously have a password-protected hosted page and a wide-open widget on a public website, and that is a coherent configuration rather than a bug. If you want both restricted, configure both.
Steps
- Decide what you need today. If in doubt, start with the link.
- Hosted page: open Integrations → Messaging → Direct link and copy the URL. See Share a hosted chatbot link.
- Widget: open Integrations → Web on a paid plan, add your live domains to the allowed list, and paste the script into your site.
- Activate the chatbot. Nothing public works until you do.
- Make sure knowledge is trained.
- Optionally gate the hosted page. Remember it does not cover the widget.
- Test each surface you deployed, the hosted page in a private window and the widget on the live site rather than a local copy.
Limits and plan notes
- Free includes the hosted link and locks the widget script and the plugin integrations. See Plans and what you get.
- Message credits are shared between every surface. A conversation costs the same whether it arrived by link or bubble.
- The widget needs your live domains in its allowlist. A staging domain missing from that list is one of the most common causes of a bubble that does not appear.
- Messaging apps such as WhatsApp are a third surface with their own setup and their own availability. See Channels overview.
- The hosted page can be embedded in an iframe when a site builder will not accept a script. That is the hosted page inside your site, not the widget. See Iframe embed and direct link.
Common problems
The link works and the bubble does not.
Almost always Free (the script is locked) or a missing domain in the allowlist. See The widget is not showing.
I set a hosted password and the widget is still open.
Expected. Different mechanisms. Restrict the widget with its allowed-domain list.
The bubble appears but says the chatbot is unavailable.
The chatbot is paused or draft. The widget is blocked rather than 404ing.
Which one do my conversations come from?
The Conversations list records the channel per conversation, so you can tell the direct link from the widget.
Can I use different knowledge on each?
No. They are two doors onto one chatbot. For genuinely different knowledge, create a second chatbot — which also gets its own knowledge cap.
I want the widget but cannot edit my site's theme.
Use a plugin if your platform has one, or embed the hosted page in an iframe. See Website plugins overview.
Common questions
Do I have to choose one?
No, and most people use both. Share the link first, learn from real conversations, then add the widget once the answers are good.
Does a hosted password protect the widget?
No. The hosted gate is about who the visitor is; the widget is protected by its token and the websites you allow it on. Configure both if you need both.
Why does an inactive chatbot 404 on the link but not on the widget?
The hosted URL should not be discoverable when the chatbot is unfinished. The widget sits on your own page, so it is simply blocked instead.
Can each surface use different knowledge?
No. They are two doors onto one chatbot. For genuinely different knowledge, create a second chatbot — it gets its own knowledge cap too.
Was this article helpful?
Related articles
Share a hosted chatbot link
The fastest way to put a chatbot in front of people, and the one public surface available on every plan including Free.
Control who can open the hosted page
Four modes — public, secret link, shared password, or named accounts — plus one toggle that decides whether any of them apply.
Allow the widget on your domains
Only listed hostnames may load your widget. An empty list means "not configured", so live sites are blocked.
Iframe embed and direct link
Two ways to publish without the script widget. Both point at your hosted page, and the link works on every plan.
Ready to try it on your own content?
Create a free workspace, add a document, and ask the questions your team is tired of answering.