Not everything the agent produces is plain text. When Crew builds something visual — a UI prototype, a status dashboard, a configuration form — it renders as a widget directly inside the chat message. You interact with it in place, and your actions feed back to the agent.
A widget is embedded HTML inside a chat message. It renders inline in an iframe with Tailwind CSS, theme variables, and a sandboxed execution environment. The key difference from a static code block: widgets are interactive and can send events back to the agent.
When the agent produces a widget, you see it rendered in your chat flow — a live mini-app inside the conversation. Examples:
Click buttons, fill forms, select options — your interactions fire events back to the agent session. The agent receives a [Widget action event] with your payload and can:
This makes widgets more than previews — they're a way to have structured, form-like interactions without leaving the chat.
var(--bg), var(--text), var(--accent) follow your dashboard theme| Pattern | What it does |
|---|---|
| Approval UI | "Deploy to prod?" with structured Yes/No buttons |
| Configuration builder | Form fields the agent applies on submit |
| Data explorer | Filter/drill-down interface that requests more data |
| Progress dashboard | Real-time status of a running task |
| Option selector | Multiple-choice cards the agent acts on |
When the agent creates something you want to keep — a webapp, a document, a code file — it becomes an artifact. Artifacts persist beyond the chat session in a dedicated library with version history, folders, and comments.
Artifacts are a full feature with their own lifecycle: create, iterate, version, deploy, revert. For the complete guide on managing artifacts, deploying webapps, and working with the artifacts library, see Artifacts & deploy.
When you're chatting and want to save something, ask "save this as an artifact" — the agent creates a persistent artifact in your library. You can iterate on it with "update the artifact," and webapp artifacts get a live local preview right on their card. The Artifacts panel in the dashboard is where you browse, organize, and manage everything the agent has produced.
Rich output & widgets