Custom Form
Render a host-defined, client-validated form inline in the live chat widget.
Use Custom Form when a conversation needs structured information that a host site can define and receive. Configure a unique Form Name and a clear When to use this form instruction. On the embedding page, register a matching name with window.agentstack.registerFormSchema(...). That host callback supplies the fields, labels, submit-button text, and outcome messages for the form.
The dashboard does not store the field schema. On a live site, the widget requests it from the host, renders the form, validates it client-side, and posts submitted values back to the host page. A submitted form also dispatches a form.submitted webhook. Webhook delivery is asynchronous, so a downstream delivery problem does not necessarily change the visitor’s on-screen submission result.
Custom Form is low risk and widget-only. It needs a live host page; Playground and Compare can show only a static preview because they cannot provide your registered schema. Test the complete interaction on the embedding site, including validation and your receiver. Do not present the form mechanism as a general authentication system or assume server-side validation of a host-defined schema.