Skip to content
Hosted chatbot page5 min read

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 agentency.com/{handle}-chatbot, 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 pageWebsite widget
Where visitors areAn Agentency URLYour own website
How the chatbot is identifiedThe handle in the URLA token in the embed script
How access is controlledOptional gate: public, secret link, password, or accountsThe token plus your allowed-domain list
SetupCopy a URLPaste a script into your site
PlanEvery plan, including FreeEvery plan, including Free
When the chatbot is inactive404Blocked, not a 404
Message creditsSharedShared

Which should I use?

Use the hosted page if you have no website, 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, and you want the chat available on every page without a click away.

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:

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

  1. Decide what you need today. If in doubt, start with the link.
  2. Hosted page: open Integrations → Messaging → Direct link and copy the URL. See Share a hosted chatbot link.
  3. Widget: open Integrations → Web, add your live domains to the allowed list, and paste the script into your site.
  4. Activate the chatbot. Nothing public works until you do.
  5. Make sure knowledge is trained.
  6. Optionally gate the hosted page. Remember it does not cover the widget.
  7. 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, the widget script and the plugins; it locks only the messaging apps. 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 a missing domain in the allowlist, or a snippet that is not on the published page. 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

Was this article helpful?

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.