Ask AI assistant widget for React
Add an AI assistant or AI search widget to your React application using Biel.ai's React components.
The biel-react package includes three components: BielButton for a floating assistant, BielSearchButton for AI-powered search, and BielBot for embedding the assistant directly in your page layout.
Prerequisites
- A Biel.ai account. If you don't have one, sign up for free.
- A project created in your Biel.ai dashboard. Follow the Quickstart guide to create one.
- A React application ready to install Biel.ai.
- Node.js installed.
Add the assistant widget

-
Install Biel.ai:
npm install biel-reactinfoIf you're using yarn as your package manager, run
yarn add biel-reactinstead of the npm command above. -
In the main component where you wish to place the assistant (often
src/App.js), embed the Biel.ai button:import React, { useEffect } from 'react';import { BielButton } from 'biel-react';import { defineCustomElements } from 'biel-search/loader';import 'biel-search/dist/biel-search/biel-search.css';function App() {useEffect(() => {if (typeof window !== 'undefined') {defineCustomElements(window);}}, []);return (<div className="App">{/* Other components and content */}<BielButton project="<YOUR_PROJECT_ID>"header-title="Biel.ai assistant"button-position="bottom-right"modal-position="bottom-right"button-style="dark">Ask AI</BielButton></div>);}export default App;Replace
<YOUR_PROJECT_ID>with your project's ID from the Biel.ai dashboard. -
Start your React app by running
npm startoryarn startin your terminal. Once it compiles successfully, verify that the assistant appears and functions correctly on your site.
Add the search widget

-
Install Biel.ai:
npm install biel-reactinfoIf you're using yarn as your package manager, run
yarn add biel-reactinstead of the npm command above. -
In the component where you want to place the search widget, embed the Biel.ai search button:
import React, { useEffect } from 'react';import { BielSearchButton } from 'biel-react';import { defineCustomElements } from 'biel-search/loader';import 'biel-search/dist/biel-search/biel-search.css';function App() {useEffect(() => {if (typeof window !== 'undefined') {defineCustomElements(window);}}, []);return (<div className="App">{/* Other components and content */}<BielSearchButton project="<YOUR_PROJECT_ID>"header-title="Biel.ai assistant"button-style="rounded">Search</BielSearchButton></div>);}export default App;Replace
<YOUR_PROJECT_ID>with your project's ID from the Biel.ai dashboard. -
Start your React app by running
npm startoryarn startin your terminal. Once it compiles successfully, verify that the search widget appears and functions correctly on your site.
Add embedded chat
Use BielBot to render the assistant inline in your page layout instead of as a floating button. This is useful for building dedicated help pages or embedding the assistant within a specific section of your site. See Embedded mode for more details.
-
Install Biel.ai:
npm install biel-reactinfoIf you're using yarn as your package manager, run
yarn add biel-reactinstead of the npm command above. -
In the component where you want the assistant to appear inline, embed
BielBotwithembedded-modeset totrue:import React, { useEffect } from 'react';import { BielBot } from 'biel-react';import { defineCustomElements } from 'biel-search/loader';import 'biel-search/dist/biel-search/biel-search.css';function HelpPage() {useEffect(() => {if (typeof window !== 'undefined') {defineCustomElements(window);}}, []);return (<div className="HelpPage"><BielBot project="<YOUR_PROJECT_ID>" embedded-mode="true"></BielBot></div>);}export default HelpPage;Replace
<YOUR_PROJECT_ID>with your project's ID from the Biel.ai dashboard. -
Start your React app by running
npm startoryarn startin your terminal. Once it compiles successfully, verify that the assistant appears inline on the page.
Select a widget version
The React wrapper loads the widget installed by npm. It declares biel-search@latest, so a fresh npm installation selects the npm latest widget release. Your application's lockfile keeps the resolved version, npm ci installs that locked version.
To select a specific widget release, add an override to your application's root package.json:
{
"overrides": {
"biel-react": {
"biel-search": "0.1.93"
}
}
}
Then run npm install. Replace 0.1.93 with the release you want. Remove the override and update the widget dependency to follow latest again. If your application also lists biel-search as a direct dependency, keep it on the same version so its loader and styles match.
Next steps
- Customize the widget's appearance, behavior, and tone.
- Connect integrations like GitHub Actions, MCP, or Zapier.