Any HTML form on a page where you can add a <script> tag, whatever helpdesk is behind it. The exception is a form inside an iframe from another domain: add the script to that iframe’s own page.
No. A network error, a broken selector, an unwanted answer or Skip and submit all end with the form submitting normally, with your own validation and submit code.
Add data-debug-mode="true" to the script tag and read the browser console. The usual causes:
  • The question is under 25 characters.
  • The ticket is filed with no pause. Your form files it from a click handler: set Intercept on to Click event.
  • A selector matches nothing.
  • The console shows could not load configuration 403. The page’s domain is missing from Allowed domains (or from the client key’s own Allowed origins), or the deflector is disabled.
  • The form appears later than 10 seconds after load. Raise Wait for form.
  • Your framework rebuilds the form after load. Set Delay before attaching to 500.
Nothing is shown and the ticket is filed. An answer is only shown when its confidence reaches the deflector’s threshold, and confidence is zero when your content doesn’t cover the question. See how confidence works.
English, unless the reader asks for another language. To answer in the reader’s language, pick a customization with a Language setting under Voice on the Setup tab. To translate the buttons and labels, see Copy.
Yes. It runs in the reader’s browser. The knowledge base must not be an internal knowledge base, because those can’t be used with a public client key.
Not if you set Allowed domains. Kelu refuses requests from pages on any other site, and no page can change the source groups set on the deflector. localhost always passes Allowed domains, for testing. The public client key’s own allowed origins apply as well, and they make no exception for localhost.
Yes. Each question Kelu tries to answer counts against your monthly allowance, whether or not the answer is shown. Questions under the minimum length cost nothing. When the allowance runs out, the form submits normally.
No. The rate only counts whether the ticket was filed. The Yes/No votes are recorded separately, in analytics.
An anonymous browser id, shared with the Ask AI widget, and the browser and operating system names. No IP address. An email address only if you set Email field. See User tracking.
Allow the same domains as the Ask AI widget. See How do I fix CSP errors?
Timing. The deflector answers on your form, before a ticket exists. Helpdesk automation answers tickets after they reach your helpdesk. Both use the same confidence score, so a threshold works the same way in each.