Skip to main content
Live widgets

Live widgets

Some questions are not really questions. “How much would this mortgage cost me at different rates?” does not want a paragraph — it wants a thing with inputs you can move.

Ask for one and the model builds it, and it runs in the panel next to your chat. Not a screenshot and not a code listing: the working thing.

Getting one

Describe what you want to be able to do, and prefer verbs over nouns. The model decides that an interactive answer fits better than prose — you do not switch to a widget mode first.

  • “Build me a calculator for compound interest I can adjust.”
  • “Chart these quarterly numbers so I can toggle each series.”
  • “Make a timeline of these events I can scroll through.”

Give it your real numbers

A widget built around your actual figures is immediately useful; one built on placeholders needs a second round to become useful. Paste the data in the same message.

How it runs

Interactive widgets run inside an isolated frame beside the conversation. Isolated matters: the widget cannot reach your account, your other conversations, or the page around it. It is a sealed box that draws itself.

The panel does not only display — it can execute. A React component, a Python script, or a SQL query arrives as code and runs the same isolated way: each in its own sealed frame, in your browser.

A widget that needs to run before you can see it shows a Run control. Once running, it behaves like any small app — move the inputs, and it responds.

What a widget cannot do

It has no access to the network and no access to your workspace. Whatever data it works with is the data the model put into it when it was built. To change the data, ask — do not expect the widget to fetch anything.

What can appear in the panel

“Widget” is the interesting case, but the panel renders several kinds of thing, and it picks the right one from what the model produced:

KindWhat it is
codeSource, syntax-highlighted, with a copy button. React, Python and SQL code can also run in the panel behind a Run control.
htmlA live document. Runs in an isolated frame beside the chat — this is what most interactive widgets are.
markdownRendered prose. Downloads as a PDF or as Markdown.
svgA vector image, drawn in a frame with scripts disabled.
mermaidDiagram source compiled to a picture — flowcharts, sequences, timelines.
slidesA deck, rendered slide by slide and exportable to PowerPoint.
Read directly from the artifact contract, so this table cannot drift from what the panel actually supports.

From a deck to a widget

A designed deck (or document) can become a widget. Press Make this interactive on it and the live version arrives as its own artifact beside the original, which is left exactly as it is. The ask carries the shape of the data, not a database dump — up to four series of twenty-four points each, exactly as the deck printed them. More on designed decks.

The button does not convert anything silently — it sends a message on your behalf. You see the ask in the thread, and it is screened and billed like anything you type yourself. That is why it is a message rather than a converter: a button that quietly bypassed the thread would be a worse feature, not a faster one.

Changing one

Ask in the thread. “Add a field for extra monthly payments” edits the widget you are looking at rather than building a second one, and the panel follows the change.

Each change is a version. You can step back through them and restore an earlier one if a change made things worse, so experimenting is cheap. More on versions and export.