Where it runs
How it works
A tool returns structured data. A manifest maps that tool’s output shape to a widget type. The surface renders it if it can, and falls back to prose if it cannot. The fallback is the important part: a surface that cannot render a widget still gets the answer. Telegram users are not blocked from funding data because Telegram has no tables. They get it condensed into text. Nothing is gated on rendering capability.Why it matters for builders
The API emits widget parts as structured data rather than pre-rendered markup, so you can render them yourself in whatever your client is. This is the same data the web UI draws from, not a simplified export of it. Anything Shumi Web can display, you can display.Limits
- Coverage is not universal. Not every tool has a widget mapping. Unmapped tools return prose everywhere.
- Telegram has none, and this is a format constraint rather than a roadmap gap.
- Widget shapes can change as tools evolve. Pin against
schemaVersionin the envelope if you are rendering them yourself.
Related
- Shumi Chat, where widgets appear
- API Overview, the envelope they arrive in
- Surfaces, what renders where

