Sidebar Chat (JS)
Add a chat sidebar to your application.
Overview
A "sidebar chat" is a chat UI that is displayed in a sidebar on the either the left or right side of the page and is resizable.
<MyApp />
Scenarios
You may want to add a sidebar chat directly into your application for a copilot-like experience. Allowing users to chat with the AI assistant directly in your application without needing to leave the context of your application can help them get answers to their questions faster.
Quick start
Add the below <script>
tag to the <head>
or <body>
of your website.
Define an element in your page that will be the "container" for the sidebar chat.
Add a button element that will trigger the sidebar chat and give it the data attribute data-inkeep-sidebar-chat-trigger
. You can also use your own custom attribute if you prefer, just be sure to pass it to the triggerSelector
prop.
Insert the Sidebar Chat by using the Inkeep.SidebarChat()
function.
Sidebar Chat Props
This type represents the configuration for the Inkeep sidebar chat widget.
Prop | Type | Required | Description |
---|---|---|---|
baseSettings | object | Yes | Core configuration settings. See Base Settings for details. |
aiChatSettings | object | No | AI chat configuration settings. See AI Chat Settings for details. |
position | 'left' | 'right' | No | The position of the sidebar. Defaults to 'right' . |
triggerSelector | string | No | The selector for the trigger element that opens the sidebar. Defaults to '[data-inkeep-sidebar-chat-trigger]' . |
minWidth | number | No | The minimum width of the sidebar chat. Defaults to 250 . |
maxWidth | number | No | The maximum width of the sidebar chat. Defaults to 600 . |
defaultWidth | number | No | The default width of the sidebar chat. Defaults to 420 . |
defaultOpen | boolean | No | Whether the sidebar chat is open by default. Defaults to false . |
autoCloseThreshold | number | No | The threshold for auto-closing the sidebar chat when resizing. When dragging below minWidth \* autoCloseThreshold , the sidebar will auto-close. Defaults to 0.7 (70% of minimum width). |
Examples
Change the sidebar position
With AI Chat Settings
Refer to the Chat Settings docs for more details on the available properties.
Changing props after initial render
Sometimes you may need to manage change settings after a widget has already been initialized, for example, to update user privacy preferences. To do this, you can use the update
method.
The below example illustrates how you change the primary color on the widget when a button is clicked.
Accessing chat methods
The instance of the chat object returned by Inkeep.SidebarChat()
exposes some methods that you can use to interact with the chat.
Method | Description |
---|---|
submitMessage(message?: string) | Programmatically sends a message in chat. If message is omitted, sends the current input value. |
updateInputMessage(message: string) | Updates the text in chat input field |
clearChat() | Resets the chat to its initial state |
openForm(formSettings: FormSettings) | Displays a form overlay in chat interface |
focusInput() | Sets focus to the chat input field |
Refer to the Form Settings reference docs for more details on the available properties for the openForm
method.