Skip to main content

Widget Builder

The Widget Builder lets you design custom interactive UI — forms, pickers, multi-step wizards — and drop them straight into your bot's conversations. When the user fills the widget out, the result flows back into the conversation as the next agent input.

If you've ever wanted "a real form, not just quick replies," widgets are how you do it.

You'll find Widget Builder under AI Agent → Widget Builder.

What you can build

A widget is a small, self-contained piece of UI:

  • A booking form with date/time pickers and conditional fields.
  • A product selector with images and live filtering.
  • A custom payment summary with editable line items.
  • A multi-step onboarding wizard that remembers progress between steps.

Anything you'd build as a custom screen in a normal app, you can build as a widget here.

What's in a widget

Every widget has four parts. You'll see them as separate panes inside the editor:

PartWhat it is
CodeThe widget's UI, written in JSX. This is what the user actually sees.
SchemaThe inputs the widget expects when an agent shows it (e.g. "user's name", "list of products").
Default stateThe values the widget starts with on first render.
OutputThe shape of data the widget returns when the user submits. The agent reads this to continue the conversation.

You don't need to fill all four for a simple widget — defaults work fine. For anything dynamic, you'll touch all four.

Widget vs rich message vs flow — when to use which

This is the most common question. Quick decision guide:

You need…Use
Quick replies, a carousel, a basic single-field inputRich message node in a flow
Custom UI with multiple fields, conditional logic, or its own stateWidget
Branching logic with no UI of its ownFlow or agent

Reach for a widget when the experience genuinely needs custom UI. For everything simpler, rich messages and flows are easier to maintain.

Where to find widgets in the studio

PagePurpose
Widget Builder start screenNew widget, pick from library, or generate with AI.
Saved widgetsEvery widget saved on this bot.
EditorEdit a specific widget.
Components LibraryReusable building blocks (buttons, inputs, layouts) you can drop into your widget.

Widget Builder start screen — top tabs (New widget, Library, Saved Widgets), the "What would you like to create today?" prompt with Start from scratch and Add widget file buttons, and a free-text "Explain what type of component you are looking for" input with a send button

What's next