Skip to main content

UI Tools

UI tools render React widgets inside ChatGPT when invoked. Instead of returning plain text, a UI tool displays an interactive visual (a dashboard, a form, a table, a chart) directly in the conversation.
ChatGPT conversation with an embedded dashboard widget

A UI tool rendering a dashboard widget inside ChatGPT

When to Use a UI Tool

Use a UI tool when:
  • The user needs to see structured data (tables, lists, cards)
  • The output involves interactive elements (buttons, filters, forms)
  • A visual layout communicates better than plain text
  • You want to show charts, maps, or media
If you only need to return data for ChatGPT to use in its response (no visual), use a data tool instead.

Display Modes

Every UI tool has a display mode that controls how the widget appears in ChatGPT. Choose the right mode for what you are building.

Inline

The widget appears directly in the conversation flow, sized to fit alongside chat messages. Best for: quick confirmations, short lists, status cards, compact summaries.
Inline widget in ChatGPT conversation

An inline widget showing a confirmation card in the conversation

Fullscreen

The widget takes over the view, giving your app maximum space. Best for: dashboards, complex forms, data tables, maps, multi-panel layouts.
Fullscreen widget in ChatGPT

A fullscreen widget showing a data table with filters

PiP (Picture-in-Picture)

The widget appears as a floating, persistent window that stays visible while the user continues chatting. Best for: media players, live feeds, reference panels, timers, persistent status monitors.
Picture-in-picture widget floating over ChatGPT conversation

A PiP widget floating above the conversation

Choosing the Right Mode

Use this table to pick a display mode based on what you are building.

Setting the Display Mode

Include the display mode when you describe the tool in the builder chat.
Build a UI tool called “order_dashboard” that displays recent orders in a sortable table. Use fullscreen mode.
Create a UI tool “confirmation_card” that shows a success message after an action completes. Display inline.
Add a UI tool “live_ticker” that shows real-time price updates. Use picture-in-picture mode.

How UI Tools Call Data Tools

A widget rendered by a UI tool can trigger data tools to perform actions. For example, an order dashboard (UI tool) might have a “Cancel Order” button that calls a cancel_order data tool. When you describe this interaction in your prompt, the AI wires it up automatically:
In the order_dashboard UI tool, add a “Cancel” button on each order row. When clicked, it should call the cancel_order data tool with the order ID, then refresh the table.
This keeps your UI tool focused on display and your data tool focused on the action.

Tips

Start with inline mode. If the widget feels cramped or needs scrolling, switch to fullscreen. This avoids taking over the user’s view unnecessarily.
For fullscreen widgets, include a way to return to the conversation (a close button, a “done” action). Chippy adds default navigation, but explicit controls improve the experience.
If your widget opens a detail view or drill-down, include a back button or breadcrumb. Users should never feel stuck inside a widget.
Inline widgets share space with chat messages. Aim for a single card, a short list (under 5 items), or a brief confirmation. If you need more space, use fullscreen.
PiP is powerful but can clutter the interface. Reserve it for content that genuinely needs to persist: media playback, live feeds, or reference material the user checks repeatedly.

Troubleshooting

What’s Next

Data Tools

Return structured data without rendering a widget.

Mock Data

Prototype with realistic data before connecting APIs.

Styling

Customize the look and feel of your widgets.

Tools

General tool design principles and configuration.