Every option has one Kelu name, and that is the only name the rest of these docs use. The widget still reads the older names below, kapa.ai’s and its own, so a tag that already carries them keeps working without changes. Use the Kelu name in new tags.

What you still change

kapa.aiKelu
src="https://widget.kapa.ai/kapa-widget.bundle.js"src="https://widget.kelu.dev/kelu-widget.js"
data-website-id="<kapa id>"data-widget-id="<Kelu widget id>" or data-knowledge-base-id="YOUR_KNOWLEDGE_BASE_ID". data-website-id also works, but it must hold the Kelu widget id
Nothingdata-client-key="kl_pk_..."
window.Kapa(…), window.Kapa.open()window.Kelu(…), window.Kelu.open(): same calls, same arguments. See JavaScript API
window.kapaSettings = { user }window.keluSettings = { user }. uniqueClientId and email are read; metadata is not sent
A tag that also runs the Support Form Deflector needs data-knowledge-base-id. With data-widget-id alone the deflector is not attached, and the console says so.

Renamed attributes

If both names are on the tag, the Kelu name wins.
Kelu nameAlso read
data-widget-iddata-website-id
data-product-namedata-project-name
data-product-logodata-project-logo
data-brand-colordata-project-color, data-primary-color
data-brand-color-darkdata-project-color-dark
data-anchor-color (and -dark)data-hyperlink-color (and -dark)
data-launcher-button-hiddendata-button-hide, data-hide-launcher
data-launcher-button-textdata-button-text
data-modal-titledata-modal-title-text
data-chat-disclaimerdata-modal-disclaimer, data-disclaimer
data-hide-brandingdata-kapa-branding-hidden, data-branding-hidden
data-branding-textdata-kapa-branding-text
data-privacy-linksdata-privacy-links-links
data-mcp-enableddata-show-mcp
data-mcp-enabled="false"data-mcp-button-hidden="true"
data-source-group-idsdata-source-group-ids-include
data-suggested-questions (split on |)data-example-questions, data-modal-example-questions (split on ,)
data-example-questions-columns (a column count)data-example-questions-col-span, data-modal-example-questions-col-span (a span out of 12)
data-modal-override-open-selector (and -search, -ask-ai)data-modal-override-selector (and -search, -ask-ai)
data-modal-override-open-selector=".name"data-modal-override-open-class="name" (and -search, -ask-ai)
data-modal-override-open-selector="#name"data-modal-override-open-id="name" (and -search, -ask-ai)
data-launcher-button-image (and -width, -height)data-button-image (and -width, -height)
data-launcher-button-animation-enableddata-button-animation-enabled
data-launcher-button-hover-animation-enableddata-button-hover-animation-enabled
data-modal-logo-src (and -ask-ai, -search)data-modal-image (and -ask-ai, -search)
data-modal-logo-width / -heightdata-modal-image-width / -height
data-modal-logo-hiddendata-modal-image-hide
data-modal-logo-hidden-on-mobiledata-modal-header-logo-hide-on-mobile
data-modal-close-button-hiddendata-modal-close-button-hide
data-ask-ai-input-placeholderdata-modal-ask-ai-input-placeholder
data-search-input-placeholderdata-modal-search-input-placeholder
data-search-result-targetdata-search-result-link-target
data-modal-overlay-hidden="true"data-modal-with-overlay="false"
data-search-ask-ai-cta-hidden="true"data-search-show-ask-ai-cta="false"
data-switch-icon-hidden="true"data-switch-show-icons="false"

Legacy style attributes

kapa’s legacy style names are rewritten to the component-style form before use:
Legacy spellingCurrent spellingExample
button-…launcher-button-…data-button-bg-color
button-text-font-size, -font-weight, -font-family, -colorlauncher-button-label-…data-button-text-color
button-position-top / -right / -bottom / -leftlauncher-button-top …data-button-position-right
modal-disclaimer-…disclaimer-…data-modal-disclaimer-bg-color
modal-inner-position-…modal-inner-…data-modal-inner-position-right
submit-query-button-…submit-button-…data-submit-query-button-bg-color
question-text-colorconversation-item-question-color
answer-text-colorconversation-item-answer-color
mcp-border-colormcp-button-border-color
search-result-primary-title-font-size (and secondary)search-result-primary-text-font-size
search-ask-ai-cta-text-font-sizesearch-ask-ai-cta-font-size
answer-feedback-button-active-…answer-feedback-button-enabled-…The chosen thumb
…-placeholder-text-color…-placeholder-colordata-query-input-placeholder-text-color
…-bg-color…-background-colordata-modal-header-bg-color
…-text-color…-colordata-source-link-primary-heading-text-color
Every other legacy style name, such as data-modal-header-padding or data-modal-body-padding-top, is already in the current form.

Values kapa spells differently

Attributekapa valueRead as
data-view-mode"default""modal"
data-handoff-triggersuncertaintyuncertain
data-handoff-triggersdownvotenegative-feedback
data-handoff-mode"custom-with-form""custom": there is no built-in form, so your onAskAIHandoffOpen handler takes over
data-query-cache-timeout (deflector)millisecondsdata-query-cache-seconds, in seconds

Support Form Deflector names

Kelu nameAlso read
data-deflector-iddata-integration-id
data-deflect-question-fielddata-main-input-query-selector
data-deflect-hyperlink-colordata-hyperlink-color, data-anchor-color
data-deflection-failure-query-selectordata-deflection-failure-trigger-element-query-selector
data-deflection-failure-event-typedata-deflection-failure-trigger-element-event-type
data-handoff-formatdata-handoff-payload-format
data-modal-submit-textdata-modal-go-back-text
data-query-cache-secondsdata-query-cache-timeout (milliseconds)
Every other kapa deflector attribute has the same name here. See Support Form Deflector behaviour.

kapa options with no counterpart

kapa optionWhat happens
data-bot-protection-mechanism="hcaptcha"Console warning. reCAPTCHA v3 is used where your deployment requires a token
data-customization-idConsole warning. Assign the customization to a widget integration in the dashboard and embed it with data-widget-id
data-search-source-ids-includeConsole warning. Scope search with source groups instead
data-search-source-ids-orderConsole warning. Results are ordered by relevance
data-reasoning-mode-selector-*, data-deep-thinking-button-*Ignored. There is no Fast/Thinking switch
data-modal-transitionNo effect. The sidebar always slides in from the right

Defaults that differ

The names match but these defaults do not. Set the attribute to get kapa’s behaviour.
Optionkapa.aiKelu
data-modal-open-on-command-k"false""true"
data-modal-size800px760px
data-modal-y-offset6vh0 (centred)
data-modal-z-index2002147483647
data-example-questions-col-span"6" (two per row)One per row
data-switch-icon-hidden"true""false"
data-user-satisfaction-feedback-enabled"true", shown to 4% of askers"false". When on, shown once after three answers
Exit surveyShown on 5% of closesShown once per page load, the next time the panel opens after it was closed on an unrated answer
Sidebar width600px, set by data-modal-size460px, set by data-sidebar-width
Reader idkapa_web_id cookiekl:anon in localStorage
Consentkapa_consent cookiekl:consent:<knowledge base id> in localStorage
Deflector data-resolution-tracking-enabled"false""true"