Skip to content

Troubleshooting and FAQ

The widget doesn't show or doesn't answer

The chat bubble is missing, or it says the chat isn't enabled, set up or available. Check these in order.

Troubleshooting2 min readUpdated 23 October 2026

Most widget problems are one of four things: the script tag is incomplete, the website isn't in the key's allowed list, the agent is paused, or you're out of credits. Open your browser's developer console on the page first: the widget writes a clear message there when it can't start.

Check these in order

  1. 1

    The script is on the page

    View the page source and look for widget.js. Site builders often need custom code added in a specific place (before </body> is best) and the site republished. See Install on your platform.

  2. 2

    Both required attributes are set

    The tag needs data-widget-key (a pk-so- key) and data-agent-id. If either is missing the widget logs a warning in the console and doesn't load. Copy the tag again from the agent's Deploy tab.

  3. 3

    It isn't an old embed

    Tags with data-api-key (a secret key, from before widget.js 1.8) are refused and log a console error. Replace the tag; see Migrate an old embed.

  4. 4

    The website is allowed

    If visitors see "This chat isn't enabled for this website yet." (ORIGIN_NOT_ALLOWED), add the site's domain under Allowed websites on the Deploy tab. example.com also covers www.example.com; use *.example.com for every subdomain; an entry with a port only matches that port. Changes take about 10 seconds. With an empty list the widget only works inside the app.

  5. 5

    The key is current

    "This chat isn't set up correctly." means the key is invalid, was rotated, belongs to another agent, or is a secret key. Copy the current tag from the Deploy tab.

  6. 6

    The agent is active

    "This assistant is offline right now." means the agent is paused. Set it to Active on its Settings tab.

  7. 7

    You have credits

    "This assistant is unavailable right now. Please try again later." means your balance is zero. See Running out of credits.

  8. 8

    Nothing is blocking it

    A strict Content Security Policy must allow scripts from and connections to the widget's origin (the host in the src). Some ad or privacy blockers also block chat widgets; try a private window with extensions off.

More questions

It works in the app's preview but not on my site

The app's own pages are always allowed; your site isn't until it's in Allowed websites.

It works on www but not without it (or the reverse)

Enter the bare domain, example.com: it covers both. A www. entry only covers www.

It works locally but not on the live site

Add both: localhost:3000 (with its port) for development, and your live domain.

Visitors see "Too many messages"

A visitor sent more than 12 messages a minute, or the key passed 120 a minute. It clears within a minute.

It lost the conversation after a page reload

That's expected: the widget keeps the conversation in memory, so a reload starts a new one.

A reply failed and shows a Reference

Send that Reference to support@sentientone.ai; it's the request id and finds the request at once.

Still stuck?

Email us with what you tried and any request id. A person replies.

support@sentientone.ai