The Playground at /app/agents/{id}/playground is a full sandbox for testing your agent before publishing. Conversations here are flagged is_playground and never count toward your billing meter, conversation analytics, or the Inbox.

What you can test

Right-pane tabs

Scenario

Site type override + reply language + sample prompts. The capability badges below the site-type select show which rich blocks (product_card, pricing_card, case_study_card, escalation_button) the selected vertical can emit.

Note: not every capability has a widget renderer yet. Today the widget's RENDERABLE set in resources/widget/src/core/capabilities.ts only whitelists ticket_escalation (the escalation_button block). Other blocks (product_card, pricing_card, case_study_card) are emitted by the server when the LLM asks for them, but the public widget will silently drop them until their renderer is added to the RENDERABLE set + a Preact component in ui/blocks.tsx. The Playground previews them because it ships every renderer for design purposes — what you see in Playground may be richer than what your visitors see in the live widget.

Page context

Form-driven editor for the page_context the visitor would send. Use the Use template dropdown to drop in a realistic Shopify product page or Stripe pricing page, then tweak the URL / title / og fields. JSON-LD accepts pasted JSON.

Diagnostics

Read-only inspection of the last turn:

Endpoints

All three are session-authenticated and scoped by AgentPolicy::update:

Notes