Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.open.cx/llms.txt

Use this file to discover all available pages before exploring further.

This page lists every option you can pass to the widget. For how to combine these options into a brand, launch flow, or visitor experience, start with Configuration.
Want to try options live and copy a working snippet? Open the Playground.
Defaults shown as undefined mean the option has no default — the related feature stays off until you set the option. Defaults shown as language-specific (e.g. for textContent) come from the active language translation, not a single hard-coded string.

Initialization

token

string
required
Your organization’s widget token. Find it in Channels → AI Chat Widget. The widget will not load without it.

Branding

assets

object
Brand visuals shown around the chat — organization logo and launcher icons.

bot

object
Identity of the AI shown in the widget header and AI message bubbles.

humanAgent

object
Default appearance applied to every human agent after .

theme

object
Colors, panel sizing, spacing, and other layout-level visuals.

cssOverrides

string
Custom stylesheet that targets widget parts via data-component selectors. Use when the theme options are not enough.Inspect the DOM to find selectors like data-component="chat/input_box/root". If a part you need to style does not yet have a selector, contact us and we will add one.

language

string
default:"en"
Language code used for built-in widget copy.Supported codes:
  • ar Arabic
  • da Danish
  • de German
  • en English
  • es Spanish
  • fi Finnish
  • fr French
  • it Italian
  • nl Dutch
  • no Norwegian
  • pl Polish
  • pt Portuguese
  • ro Romanian
  • sv Swedish
  • tr Turkish
Need another language? Contact support or open a pull request.

textContent

object
Override built-in copy on individual screens. Defaults come from the active language.

translationOverrides

{ [key in Language]?: Partial<TranslationInterface> }
Override individual translation strings per language. See language for the list of supported codes.

timestamps

object
Display timestamps in the conversation.

disableTooltips

boolean
default:false
Disable the in-widget hover tooltips on UI controls (e.g. header buttons). Has no effect on documentation tooltips.

inline

boolean
default:false
Embed the widget inside its parent element instead of floating over the page.When true, the widget content fills its parent container, the widget stays open, and the launcher button is hidden. Useful when you want a chat panel built into a page section.

headerButtons

{ sessionsScreen?: Array<HeaderButton>; chatScreen?: Array<HeaderButton> }
Custom header buttons for the sessions and chat screens — expand-shrink the widget, close it, resolve the session, and so on.
Setting this option removes the default close-widget button on small screens. Add a close-widget entry yourself if you still need one.

User

collectUserData

boolean
default:false
Show a built-in form on the welcome screen that asks for the visitor’s name and email. The submitted values create a non-verified .Use prefillUserData and extraDataCollectionFields to tailor the form. For verified identity, see Authentication.

prefillUserData

object
Initial values for the name and email inputs in the welcome screen. Requires collectUserData to be true.

extraDataCollectionFields

Array<string>
default:[]
Extra free-text fields to add to the welcome form, beyond name and email. Requires collectUserData to be true.

user

object
Verified or non-verified contact data passed from your app. If omitted, an anonymous contact is used.See Authentication for the full setup, including how to mint a verified token from your backend.

Chat

initialMessages

Array<string>
default:["Hello, how can I help you?"]
Messages the visitor sees in a new chat session. They disappear after the visitor sends their first message.

advancedInitialMessages

Array<{ message: string; persistent?: boolean }>
Same idea as initialMessages with per-message persistence control. When set, this overrides initialMessages.When persistent is true, the message stays pinned at the top of the chat; otherwise it disappears after the first reply.

initialQuestions

Array<string>
default:[]
Suggested starting questions shown at the top of a new chat. Clicking one sends it as the visitor’s first message.

initialQuestionsPosition

'above-chat-input' | 'below-initial-messages'
default:"above-chat-input"
Where the suggested questions appear relative to the chat input.

thisWasHelpfulOrNot

object
Prompt the visitor to confirm whether the latest AI reply solved their issue. Renders as two buttons: “This was helpful” and “I need more help”.

Behavior

isOpen

boolean
default:false
Whether the widget is open. Use to open the widget on first render (e.g. inside a webview) or to control its open state from your app.

openAfterNSeconds

number
Open the widget automatically after N seconds on the page.

oneOpenSessionAllowed

boolean
default:false
When true, the New conversation button is hidden while an open session already exists. See Conversation Sessions for the user-facing effect.

router

object
Override the default screen routing.

anchorTarget

'_top' | '_blank'
default:"_top"
Target attribute applied to all links rendered in AI or human-agent replies.
  • _top — open links in the same tab.
  • _blank — open links in a new tab.

disableSendingWhenAwaitingAIReply

boolean
default:true
By default the send button is disabled while the AI is generating a reply. Set to false to let the visitor send another message before the AI finishes — the typing indicator stays visible; only the send button’s disabled state is dropped.

Context & custom data

context

object
Runtime data sent with each visitor message so the AI can tailor its response. Good for page URL, current product, and other request-time signals.

messageCustomData

object
Per-message metadata attached to each visitor message. Intended for human agents — the AI does not see it and it does not influence replies.

sessionCustomData

Record<string, string | number | boolean>
Metadata attached to the session when it is created. Intended for human agents and for filtering sessions in the inbox — the AI does not see it.

AI action requests

These options attach data to every HTTP request the widget makes when the AI calls one of your APIs. For secure credentials, configure them in General settings instead.

headers

Record<string, string>
Custom headers added to every AI action request.

queryParams

Record<string, string>
Custom query parameters appended to every AI action request URL.

bodyProperties

Record<string, string>
Custom properties merged into the body of every AI action request.

Components

modesComponents

Array<ModeComponent>
default:[]
Custom React components rendered in the canvas while a is active. See Custom Components for the surrounding implementation guidance.

Accessibility

accessibility

object
Accessibility options for the widget UI.

Configuration

Job-first guidance — pick the right options for branding, launch flow, and visitor experience.

Playground

Try options live and copy a working snippet.

Authentication

Identify signed-in visitors and protect conversation history.

Custom Components

Render richer UI for AI action results and conversation modes.