This is the React InstantSearch v7 documentation.
If you’re upgrading from v6, see the upgrade guide.
If you were using React InstantSearch Hooks,
this v7 documentation applies—just check for necessary changes.
To continue using v6, you can find the archived documentation.
<Chat> widget has no messages yet, it shows a welcome screen. Use the emptyComponent prop to replace it with your own greeting and a set of starter prompts. Each prompt sends a message to the agent when clicked, so users can start a conversation in one tap.
If you only need prompt suggestions after the agent responds, use Agent Studio prompt suggestions instead.
Render starter prompts with emptyComponent
The emptyComponent receives a sendMessage function. Call it with { text } to submit a starter prompt as the first message:
React
Pair
<Chat> with the <ChatTrigger> widget (or AI mode on a <SearchBox>) to provide a way to open the chat.emptyComponent reuses the built-in classes (ais-ChatGreeting and ais-ChatPromptSuggestions) so it inherits the default styling. Replace them with your own classes to fully restyle the welcome screen.
Reuse the default greeting
Instead of writing the greeting markup yourself, render the built-inChatGreeting component, then add your starter prompts below it. It renders the default heading and subheading, and accepts a banner image, translations, and classNames:
React
Fetch starter prompts dynamically
The prompts don’t have to be static. Fetch them once—for example, from a dedicated Agent Studio agent that returns starter prompts—and render them fromemptyComponent:
React
Customize more than the empty state
TheemptyComponent only replaces the initial empty state. To customize the surrounding chat layout (header, message list, prompt input), use the layoutComponent prop instead. Use ChatInlineLayout for an inline (non-overlay) layout, or ChatOverlayLayout for the default floating overlay, and reuse headerComponent, messagesComponent, and promptComponent to keep the built-in behavior.