Reference
Components
<CopilotPopup />

<CopilotPopup />


A chatbot popup component for the CopilotKit framework. The component allows for a high degree of customization through various props and custom CSS.

See CopilotSidebar for a sidebar version of this component.

Install Dependencies

This component is part of the @copilotkit/react-ui package.

npm install @copilotkit/react-core @copilotkit/react-ui

Usage

import { CopilotPopup } from "@copilotkit/react-ui";
import "@copilotkit/react-ui/styles.css";
 
<CopilotPopup
  labels={{
    title: "Your Assistant",
    initial: "Hi! 👋 How can I assist you today?",
  }}
/>

Look & Feel

By default, CopilotKit components do not have any styles. You can import CopilotKit’s stylesheet at the root of your project:

...
import "@copilotkit/react-ui/styles.css";
 
export function YourRootComponent() {
  return (
    <CopilotKit>
      ...
    </CopilotKit>
  );
}

For more information about how to customize the styles, check out the Customize Look & Feel guide.

Properties

instructionsstring

Custom instructions to be added to the system message. Use this property to provide additional context or guidance to the language model, influencing its responses. These instructions can include specific directions, preferences, or criteria that the model should consider when generating its output, thereby tailoring the conversation more precisely to the user’s needs or the application’s requirements.

onInProgress(inProgress: boolean) => void

A callback that gets called when the in progress state changes.

onSubmitMessage(message: string) => void | Promise<void>

A callback that gets called when a new message it submitted.

iconsCopilotChatIcons

Icons can be used to set custom icons for the chat window.

labelsCopilotChatLabels

Labels can be used to set custom labels for the chat window.

makeSystemMessageSystemMessageFunction

A function that takes in context string and instructions and returns the system message to include in the chat request. Use this to completely override the system message, when providing instructions is not enough.

showResponseButtonboolean
Default: "true"

Whether to show the response button.

MessagesReact.ComponentType<MessagesProps>

A custom Messages component to use instead of the default.

InputReact.ComponentType<InputProps>

A custom Input component to use instead of the default.

ResponseButtonReact.ComponentType<ResponseButtonProps>

A custom ResponseButton component to use instead of the default.

classNamestring

A class name to apply to the root element.

childrenReact.ReactNode

Children to render.

defaultOpenboolean
Default: "false"

Whether the chat window should be open by default.

clickOutsideToCloseboolean
Default: "true"

If the chat window should close when the user clicks outside of it.

hitEscapeToCloseboolean
Default: "true"

If the chat window should close when the user hits the Escape key.

shortcutstring
Default: "'/'"

The shortcut key to open the chat window. Uses Command-[shortcut] on a Mac and Ctrl-[shortcut] on Windows.

onSetOpen(open: boolean) => void

A callback that gets called when the chat window opens or closes.

WindowReact.ComponentType<WindowProps>

A custom Window component to use instead of the default.

ButtonReact.ComponentType<ButtonProps>

A custom Button component to use instead of the default.

HeaderReact.ComponentType<HeaderProps>

A custom Header component to use instead of the default.


© Tawkit, Inc. All rights reserved.