Chat and form surfaces
Surfaces make a published workflow available through a user-facing chat or form experience. Studio creates a surface when you publish a workflow that uses a Chat or Form trigger.
Surface types
| Type | Use it for | Delivery options |
|---|---|---|
| Chat | Conversational intake, guided support, and AI-assisted workflow execution | Hosted URL, chat bubble, inline embed, iframe, or headless API |
| Form | Structured data collection driven by a JSON Schema | Hosted URL, iframe, or submit API |
Configure a surface
- Publish a workflow with a Chat or Form trigger.
- Open API Manager > Surfaces and select the generated surface.
- Configure Appearance. For chat, set the assistant name, welcome message, suggested prompts, and brand color.
- For chat, enable the required Channels. A channel cannot be enabled until the surface is published and enabled.
- Configure the request data and limits.
- Review Embed & Share, select a delivery mode, and copy the generated snippet or URL.
- Select Publish, then test the exact public or private experience consumers will use.
Access and privacy
Choose Public only when the workflow and submitted data are safe for unauthenticated access. Choose Private when users must authenticate; generated API and cross-origin embed examples require a bearer token.
For chat surfaces, configure rate limits, maximum message length, session timeout, and transcript retention. A retention value of Do not store minimizes persistence when transcripts are not required.
Never place a long-lived access token in public HTML. Obtain short-lived credentials through your application and pass them only to trusted, controlled clients.
Accessibility checklist
- Give every field a concise label and useful validation message.
- Preserve a logical heading order around embedded surfaces.
- Test the complete flow using only a keyboard and at 200% zoom.
- Do not rely on color alone for status, validation, or required-field meaning.
- Provide a visible support path when an AI response or form submission fails.
Operate a surface
Disable or unpublish a surface to stop new access. Before changing a live schema or conversation contract, test existing embeds and API consumers. Use metrics and traces to investigate the underlying workflow, and use audit logs to review administrative changes.