Skip to main content

Widget customization

Configure the chatbot and search widgets by setting HTML attributes. All properties support i18n — override any text property to localize the widget.

biel-button​

The <biel-button> component adds a floating AI chat button to your site. Use <biel-bot> to render the same chatbot inline; it accepts the chatbot modal properties below. See Embedded mode.

Biel bot

Usage​

<biel-button project="YOUR_PROJECT_ID" header-title="Biel.ai chatbot" button-style="dark">Ask AI</biel-button>

Chatbot button properties​

PropertyDescription
Layout
projectRequired
Type: string

The project ID.
button-positionType: string
Default value: default
Available values: default, bottom-right, bottom-left, center-right, center-left, custom

Controls the position of the chat button on your webpage. Use custom to position the button using CSS.
button-styleType: string
Default value: default
Available values: default, dark, light

Defines the visual style of the chat button. dark uses a dark theme, light uses a light theme, and default follows your site's theme.
custom-fontType: boolean
Default value: false

When set to true, disables loading of the Inter font. Use this if your site already uses a different font to improve load time and maintain font consistency.
hide-iconType: boolean
Default value: false

When set to true, the button icon hides.
ai-iconType: string
Default value: biel
Available values: biel, bot, sparks, question-mark

Specifies which AI icon to display in the button.
hide-avatarsType: boolean
Default value: false

When set to true, hides avatars in the chat interface.
api-keyType: string
Default value: ``

API key for authenticating requests to private projects. Required for private projects with create_chat and project_read permissions. Not required for public projects.
api-urlType: string
Default value: Biel.ai API

Override the base API URL for self-hosted or custom endpoints.

The "Powered by Biel.ai" footer appears automatically on free plans and hides on Professional plans and above. You cannot control this through a widget attribute — it is determined by your subscription tier.

Chatbot modal properties​

PropertyDescription
Layout
disable-inputType: boolean
Default value: false

When set to true, the user input field is disabled.
disable-autofocusType: boolean
Default value: false

When set to true, opening the chatbot does not focus the message input automatically.
escape-closeType: boolean
Default value: true

When set to false, pressing Esc no longer closes the chat modal. Use this if your site already binds Esc to something else. See Accessibility.
click-outside-closeType: boolean
Default value: true

When set to false, clicking outside the chat modal no longer closes it. See Accessibility.
emailType: string
Default value: ``
An email address or ID for conversation tracking. This ID will be associated with the chat session in your project dashboard for analytics and user tracking purposes.
metadataType: string
Default value: ``

Custom metadata to attach to chat sessions. Use this to pass additional contextual information (e.g., user plan, page URL, or other identifiers) that will be associated with the conversation for analytics purposes.
expand-modalType: boolean
Default value: false

When set to true, the chat modal opens in its expanded state by default.
hide-close-buttonType: boolean
Default value: false

When set to true, the close icon hides.
hide-expand-buttonType: boolean
Default value: false

When set to true, the expand button icon hides.
hide-refresh-buttonType: boolean
Default value: false

When set to true, the refresh button hides.
hide-feedbackType: boolean
Default value: false

When set to true, removes the feedback options (like thumbs up/down) that users can use to rate AI responses.
hide-sourcesType: boolean
Default value: false

When set to true, hides the sources section from AI responses in the chat interface.
hide-inline-citationsType: boolean
Default value: false

When set to true, removes numeric inline citations from AI answers and their numbers from source cards. The sources section remains available unless hide-sources is also set.
hide-settings-buttonType: boolean
Default value: false

When set to true, hides the reasoning mode selector above the message input. Only applies if reasoning mode is enabled for your project.
hide-connect-buttonType: boolean
Default value: false

When set to true, hides the Connect menu above the message input. This menu provides MCP (Model Context Protocol) connection options when MCP is enabled for the project.
hide-tooltipsType: boolean
Default value: false

When set to true, hides the tooltips that appear when hovering over header icons.
modal-positionType: string
Default value: center
Available values: center, top-center, top-left, top-right, center-left, center-right, bottom-left, bottom-right, sidebar-left, sidebar-right

Determines where the chat modal appears on the screen when opened. Use sidebar-left or sidebar-right to dock the chat as a side panel.
show-terms-modalType: boolean
Default value: false

When set to true, displays a terms and conditions modal before starting the chat.
think-mode-enabledType: boolean
Default value: false

Legacy option that starts a new conversation in Think mode when reasoning mode is enabled for the project. Use default-think-mode to choose Auto, Instant, or Think. A visitor's saved choice takes precedence. See Reasoning modes.
default-think-modeType: string
Available values: auto, fast, think

Starting mode for a new conversation when reasoning mode is enabled for the project. A visitor's saved choice takes precedence. This property takes precedence over the legacy think-mode-enabled option. See Reasoning modes.
keep-conversationType: boolean
Default value: true

When set to false, clears the conversation history on page navigation. By default, conversation history persists until the user refreshes or closes the browser.
render-mathType: boolean
Default value: true

When set to true, typesets supported LaTeX in AI answers with MathJax. Set to false to leave LaTeX source unchanged.
render-diagramsType: boolean
Default value: true

Renders Mermaid diagrams in AI answers. Set to false to show their source code instead.
mermaid-themeType: string
Default value: default

Theme used for rendered Mermaid diagrams.
mathjax-urlType: string
Default value: https://cdn.jsdelivr.net/npm/[email protected]/es5/tex-svg.js

The MathJax script URL. Set this to a self-hosted copy when your site's Content Security Policy blocks the default CDN.
MCP Integration
mcp-server-urlType: string
Default value: ``

Override the MCP server URL. Use for custom or self-hosted MCP servers, or when authentication is required. Takes priority over the API-provided URL. See MCP Server.
Text
assistant-labelType: string
Default value: Assistant

Label text displayed above AI responses in the chat.
close-button-textType: string
Default value: Close

Tooltip text for the close button in the chatbot header.
collapse-button-textType: string
Default value: Collapse

Tooltip text for the collapse button in the chatbot header.
error-message-4-0-3Type: string
Default value: Oops! The request URL or API key is invalid or not authorized for this project.

403 unauthorized message.
error-message-4-0-4Type: string
Default value: Oops! We could not find the provided project ID.

404 not found message.
error-message-defaultType: string
Default value: Oops! Please try again later.

500 error message.
expand-button-textType: string
Default value: Expand

Tooltip text for the expand button in the chatbot header.
footer-textType: string
Default value: AI answers may be inaccurate. Verify with official sources.

Footer text.
header-titleType: string
Default value: Company Name AI

Title text for the chatbot header.
input-placeholder-textType: string
Default value: Type your message

Placeholder text displayed in the chatbot's input field.
connect-button-textType: string
Default value: Connect

Tooltip text for the Connect button in the chatbot header.
mcp-url-textType: string
Default value: MCP URL

Label for the MCP URL option in the connect dialog.
mcp-url-descriptionType: string
Default value: Copy to clipboard

Description text for the MCP URL option in the connect dialog.
mcp-claude-textType: string
Default value: Claude Code

Label for the Claude Code option in the connect dialog.
mcp-claude-descriptionType: string
Default value: CLI command

Description text for the Claude Code option in the connect dialog.
mcp-codex-textType: string
Default value: Codex

Label for the Codex option in the Connect menu.
mcp-codex-descriptionType: string
Default value: Copy setup command

Tooltip text for copying the Codex setup command.
mcp-codex-copied-descriptionType: string
Default value: Command copied to clipboard

Confirmation after copying the Codex setup command.
mcp-copilot-textType: string
Default value: Copilot (VS code)

Label for the Copilot option in the connect dialog.
mcp-copilot-descriptionType: string
Default value: Opens in a new tab

Description text for the Copilot option in the connect dialog.
mcp-cursor-textType: string
Default value: Cursor

Label for the Cursor option in the connect dialog.
mcp-cursor-descriptionType: string
Default value: Opens in a new tab

Description text for the Cursor option in the connect dialog.
mcp-copied-textType: string
Default value: Copied!

Confirmation text shown after copying an MCP value to the clipboard.
mcp-url-copied-descriptionType: string
Default value: URL copied to clipboard

Description text shown after copying the MCP URL.
mcp-claude-copied-descriptionType: string
Default value: Command copied to clipboard

Description text shown after copying the Claude Code command.
refresh-button-textType: string
Default value: Refresh

Tooltip text for the refresh button in the chatbot header.
send-button-textType: string
Default value: Send

Text displayed on the send button next to the input field.
sources-textType: string
Default value: Sources

Text displayed for introducing sources in messages.
suggested-questionsType: string
Default value: empty

A JSON array or comma-separated list of questions shown when users open the chat. For example, suggested-questions='["How do I start?", "What can I build?"]'.
suggested-questions-titleType: string
Default value: Suggested questions

The heading text that appears above the list of suggested questions in the chat interface.
settings-button-textType: string
Default value: Settings

Tooltip text for the settings button (reasoning mode selector) in the chatbot header. Only visible if reasoning mode is enabled for your project.
terms-checkbox-textType: string
Default value: I have read and agree to the Terms & Conditions.

Text displayed next to the terms acceptance checkbox.
terms-descriptionType: string
Default value: Please review our <a href='https://biel.ai/terms' target='_blank' rel='noopener'>Terms & Conditions</a> before proceeding.

Description text shown in the terms and conditions modal.
terms-titleType: string
Default value: Chatbot Terms & Conditions

Title text for the terms and conditions modal.
copy-button-textType: string
Default value: Copy

Tooltip text for the copy button on code snippets.
copied-button-textType: string
Default value: Copied!

Text shown after copying a code snippet.
think-mode-auto-textType: string
Default value: Auto

Label for the Auto reasoning mode in the settings dropdown.
think-mode-auto-descriptionType: string
Default value: Balances speed and quality

Description for the Auto reasoning mode.
think-mode-fast-textType: string
Default value: Instant

Label for the Instant reasoning mode in the settings dropdown.
think-mode-fast-descriptionType: string
Default value: Prioritizes speed

Description for the Instant reasoning mode.
think-mode-think-textType: string
Default value: Think

Label for the Think reasoning mode in the settings dropdown.
think-mode-think-descriptionType: string
Default value: Takes longer for better accuracy

Description for the Think reasoning mode.
welcome-messageType: string
Default value: ""

A custom greeting message that appears when users first open the chat.

When using <biel-bot> directly, you can also set smooth-streaming="false" to display response chunks as they arrive instead of smoothing their appearance. Its default is true.

biel-search-button​

The <biel-search-button> component adds an AI-powered search bar to your site. Use <biel-search> to render the search interface directly; it accepts the search modal and chatbot modal properties below.

Biel search

Usage​

<biel-search-button project="YOUR_PROJECT_ID" button-style="rounded" search-placeholder="Search here...">Search</biel-search-button>

Search button properties​

PropertyDescription
Layout
projectRequired
Type: string

The project ID.
button-styleType: string
Default value: default
Available values: default, rounded

Style of the button.
custom-fontType: boolean
Default value: false

When set to true, the Inter font will not be loaded. Useful if your site already uses a different font, enabling a quicker load time.
hide-ctrl-kType: boolean
Default value: false

When set to true, the Ctrl+K text hides.
hide-iconType: boolean
Default value: false

When set to true, the button icon hides.
ai-iconType: string
Default value: biel
Available values: biel, bot, sparks, question-mark

Specifies which AI icon to display in the search button.
hide-avatarsType: boolean
Default value: false

When set to true, hides avatars in the chat interface.
api-keyType: string
Default value: ``

API key for authenticating requests to private projects. Required for private projects with create_chat, project_search, and project_read permissions. Not required for public projects.

Search modal properties​

PropertyDescription
Layout
disable-autofocusType: boolean
Default value: false

When set to true, opening search does not focus the search input automatically.
escape-closeType: boolean
Default value: true

When set to false, pressing Esc no longer closes the search modal. Use this if your site already binds Esc to something else. See Accessibility.
click-outside-closeType: boolean
Default value: true

When set to false, clicking outside the search modal no longer closes it. See Accessibility.
hide-ask-ai-buttonType: boolean
Default value: false

When set to true, the "Ask AI" button is hidden from the search results.
hide-descriptionsType: boolean
Default value: false

When set to true, hides descriptions in search results for a cleaner interface.
hide-filtersType: boolean
Default value: false

When set to true, hides the site filter dropdown. The dropdown appears beside the navigation hints when search filters are configured in your project settings. See Search filters.
hide-navigation-buttonsType: boolean
Default value: false

When set to true, hides navigation buttons (up and down arrows, enter, escape) in the search modal for a simplified interface.
modal-positionType: string
Default value: top-center
Available values: center, top-center, top-left, top-right, center-left, center-right, bottom-left, bottom-right, sidebar-left, sidebar-right

Position of the search modal. Use sidebar-left or sidebar-right to dock as a side panel.
stackedType: boolean
Default value: false

When set to true, displays search results in a stacked layout.
clean-titlesType: boolean
Default value: false

When set to true, removes site names from page titles that follow the format "Page Title
show-search-modalType: boolean
Default value: false
Reflected

Controls whether the search modal is open. Set this property (or the equivalent show-search-modal attribute) from your own JavaScript to open or close the search modal programmatically, for example from a custom button: document.querySelector('biel-search-button').showSearchModal = true.
Text
ai-result-fragmentType: string
Default value: "Ask AI to answer your question"

Text displayed in the AI result section of the search modal.
all-sites-textType: string
Default value: All sites

Label for the unfiltered option in the site filter dropdown.
search-placeholderType: string
Default value: "Search or ask AI..."

Placeholder for the search input.

Search chatbot modal properties​

Most properties that can be defined in <biel-button> for configuring the chatbot modal can be set in the biel-search-button.

For details, see Chatbot modal properties.

Common customizations​

Change the chatbot title​

By default, the chatbot header displays "Company Name AI". Set the header-title property to show your own title:

<biel-button project="YOUR_PROJECT_ID" header-title="Acme AI">Ask AI</biel-button>

Change the button text​

Replace the inner text of the element to change what the button says:

<biel-button project="YOUR_PROJECT_ID">Help</biel-button>

Open the chat modal from a custom element​

Use the show-modal property to open or close the chat modal from your own button or link, instead of relying on the built-in <biel-button> trigger:

<biel-button id="my-chatbot" project="YOUR_PROJECT_ID" hide-icon="true"></biel-button>
<button onclick="document.querySelector('#my-chatbot').showModal = true">Ask AI</button>

The <biel-search-button> component supports the equivalent show-search-modal property to open the search modal programmatically.