Verb

Docs

Troubleshooting

Four things account for almost everything that goes wrong, and each has a symptom you can recognise without reading any code. Find yours below.

Nothing appears at all

Almost always a Content-Security-Policy. The script is blocked before it runs, and a blocked script cannot tell you it was blocked, so the page looks completely normal.

Add api.askverb.com to both script-src and connect-src. Two directives, and missing the second is the sneakier failure: the widget appears, then every question fails to reach us.

If your policy uses 'strict-dynamic', which is the default in a Next.js app that sets a CSP, that advice changes. A browser honouring 'strict-dynamic' ignores host allowlists in script-src entirely, so adding us there does nothing at all. What the tag needs instead is your per-request nonce. connect-src still needs the host, and that is the half that would otherwise break.

Next.js: the nonce is what matters, not the allowlist

html
<script src="https://api.askverb.com/v1/verb.js"
        data-verb-site="YOUR_SITE_KEY"
        nonce={nonce} defer></script>

Worth knowing before you ship: many apps only send a CSP in production. That means this failure cannot reproduce on your machine. The install works all afternoon locally and is silently dead the moment it deploys, which is the most expensive shape this particular bug has.

Check your browser console for a CSP violation naming askverb.com. If there is nothing there at all, confirm the script tag is in your root layout rather than a single page, and that the site key matches the one in your dashboard.

It appears, but every question fails

Your domain is not verified yet. It only answers on domains you have declared, and the widget will tell you so directly rather than showing a generic error.

Open the site in your dashboard. If the domain shows seen, we have watched the widget boot there and one click confirms it. If it shows nothing, the domain was never declared: add it.

This is also what protects you. A copied script tag on somebody else's site hits exactly this and serves nothing, which is why the key being public does not matter.

Reads work, writes are refused for a signed-in user

Identity is not wired up. Verb cannot see your session cookie, so a user who is signed into your product is still anonymous to the assistant, and anonymous means read-only.

Connecting your users is the fix, and the page lists the three ways the token itself can be wrong once you have wired it.

One tool fails with needs an adapter

That tool is marked run: adapter, so it runs through your own client, and the client has not been given to Verb. Call window.Verb.configure with a case for that tool name.

Adapter tools

It answers, but the answers are wrong or vague

Two different causes, and the log tells you which. Open the Logs tab on your site and read the conversations.

  • It called no tools. Either it had none that fit, or the descriptions do not say when to call them. Descriptions should say when to use this, not what it does internally.
  • It called the wrong tool. Usually two tools whose descriptions overlap. Make them differ in the situation they name, not just the wording.

If it is vague about your product rather than your data, fill in What your product is on the site. With nothing there the assistant knows only your site name and its tools, and will describe itself instead of your product. We shipped that mistake on our own landing page and a stranger pointed it out within an hour of launching.

Still stuck

Write to vishnu.ps@askverb.com with your site name and roughly when it happened. There is no ticket queue and nobody reading from a script.

Stuck on something this does not cover? Write to us and you reach the person who built it.