Skip to main content
Every app your agent makes already renders where the conversation is: inline in your own chat if you wired the embeds, or in Vendo’s panel on the in-product track. That needs nothing more than what you already have. This page is for what a conversation cannot do. A chat bubble scrolls away — these three steps give a generated app a permanent place in your product.
1

Teach your model when to build UI

A tool your model never reaches for is not a feature, so paste this beside whatever you already say about your other tools.
your agent's system prompt
Those slot ids are yours to publish, and the next step makes one.The same guidance ships to Claude Code as a skill, examples/claude-code-plugin/skills/make-a-screen.Skip this step on the in-product track — Vendo’s own agent already carries this guidance.
2

Put a slot in your page

A slot is a place in one of your own pages that a generated view can occupy. Empty, it invites; filled, the view mounts in place.
An empty slot in the Maple overview grid, showing a skeleton, three prompt chips, and a button that opens the panel
The same Maple slot holding a generated spend by category view with a donut chart and a category list
3

Pin something

The slot is the whole wiring. Once one is mounted, every finished app grows a placement action on its bar — in Vendo’s panel and on the embed card in your own chat alike. With one slot in your product that is a one-click Pin to dashboard; with several, the same button is an Add to… picker and the person chooses.Ask for a dashboard, press Pin to dashboard, and reload the page. It is in your product now.

The full story

Generated apps is what an app may do, host components puts your own React inside one, and import & fork mints a copy. Slots has the rest of the slot contract.