This widget is and is subject to change in minor versions.
chat widget has no messages yet, it shows a welcome screen. Use the empty template 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 the empty template
The empty template receives a sendMessage function. Call it with { text } to submit a starter prompt as the first message:
JavaScript
The
chat widget renders the panel but doesn’t open it on its own. Add an entry point on the same InstantSearch instance: the chatTrigger widget, AI mode on a searchBox, or an inline layout.empty template 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-in greeting with the exportedchatGreeting template helper, then add your starter prompts below it. The helper renders the default heading and subheading, and accepts a banner image, translations, and classNames:
JavaScript
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), store them, and render them from theempty template:
JavaScript
starterPrompts from the empty template, exactly as in the static example above.
Customize more than the empty state
Theempty template only replaces the initial empty state. To customize the surrounding chat layout (header, message list, prompt input), use the layout template instead. See instantsearch.templates.chatInlineLayout() for an inline (non-overlay) layout.