Adding & editing questions
Add question on the canvas (or the pencil on an existing question) opens the question dialog: generic fields on the left, the selected type’s configuration panel on the right.
The generic fields
Section titled “The generic fields”- Unique Question Code (required) — the key this question’s answer is
stored under, the name rules use to reference it, and your downstream
join key. Codes must start with a letter and contain only letters,
digits,
_and-(max 64 characters); they’re unique per questionnaire and case-sensitive. The editor never auto-generates codes — choosing a meaningful one is deliberately your call, because codes are load-bearing. - Section — optional; autocompletes from section titles already on the screen. Consecutive questions with the same section share a card.
- Prompt (required) — the question text respondents see.
- Question Type — one of the twelve types; see Question types for each one’s behavior and options.
- Width — Default / Half / Full on the two-column grid.
For display text blocks (the non-input type), the code, prompt, and requirement fields disappear — a display block has no answer, so none of them apply. It keeps section, width, and visibility rules.
Below the fields sit the two rule panels — Visibility and Requirement — covered in Rules. New questions default to always visible and always required.
Per-type configuration
Section titled “Per-type configuration”The right-hand panel changes with the type: options lists for choice types, min/max for numbers and dates, sub-field selection for addresses, category and size limits for file uploads, a Markdown editor for display text. Each type’s page under Question types documents its exact options. Configuration problems (an empty options list, min above max) are listed in red under the panel, and the save button stays disabled until they’re resolved.
Changing a question’s type
Section titled “Changing a question’s type”Selecting a different type when the current one has non-default configuration asks before discarding it:
⚠ Switching to Number discards this type’s configuration. — Switch / Keep
If you confirm a type change on a question that rules reference, the editor
also checks whether those conditions still make sense for the new type
(operators differ per type — GREATER_THAN means nothing to a text box).
Incompatible conditions are removed, and you’re shown exactly which rules
that affects before anything happens; a rule left with no conditions
fails open (the target becomes always visible / always required) rather
than silently hiding content. Historical responses keep their old-shaped
values under the same code.
If the answer shape and every referencing rule survive the change intact, no dialog appears — the change just applies.