Author a form
Create a Form in Dashboard → Guides. A new Form starts with two steps, which you can reorder, branch, or extend up to the limits below. Each step has:- A stable ID, title, and optional description.
- One to five required text, single-choice, or scale fields.
- An optional condition based on one single-choice or scale field from an earlier step.
equals and not_equals. Text comparisons, references to the current or a later step, nested expression trees, and arbitrary code are not supported. These boundaries keep branch evaluation deterministic in the guide editor, the visitor runtime, and the Worker.
Limits
Every field in a visible step is required. A hidden step is omitted from the submission. The Worker recalculates the visible branch from the submitted answers and rejects missing visible fields, answers for hidden fields, unknown options, out-of-range scales, duplicate question IDs, and forward condition references.
Definition shape
Form content carries its fields insteps. A Form needs at least two of them:
Visitor submission
The built-in embed submits the completed visible branch toPOST /api/visitor/experiences/engage as one form_response event:
submissionReceiptId. Retrying an identical request with the same idempotency key returns the same receipt with duplicate: true; changing the payload under that key is rejected.
Step progress and draft answers stay inside the active Experience. Puntego does not write Form progress into the host product’s URL. A refresh starts the visitor surface again unless the host implements its own headless persistence.
Current boundaries
- Conditions use one prior choice or scale field; AND/OR condition groups are not available.
- All visible fields are required; optional fields are not available.
- Forms collect responses. They do not execute arbitrary code or a write action on submit.
- Form submission analytics count one accepted response, regardless of the number of visible fields.