Multiple Choice
Present a list of text options for the respondent to choose from. Supports single-select, multi-select, "Other" free-text, randomization, and alphabetical ordering.

Type identifier: multiple_choice
Properties
| Property | Type | Description | Default |
|---|---|---|---|
choices | Choice[] | Array of choice options. Each choice has an id, label, and optional imageUrl. | [] |
allowMultiple | boolean | Allow the respondent to select more than one option. | false |
allowOther | boolean | Show an "Other" option with a free-text input where the respondent can type a custom answer. | false |
randomize | boolean | Randomize the order of choices each time the question is displayed. | false |
alphabeticalOrder | boolean | Sort choices alphabetically. Ignored if randomize is enabled (randomize takes precedence). | false |
Choice Object
Each choice in the choices array has:
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for this choice. Used in logic jumps and scoring. |
label | string | The display text for the choice. |
imageUrl | string | Optional image URL for the choice (not typically used in standard multiple choice; see Picture Choice). |
Validation
If required is true, the respondent must select at least one option before proceeding.
Logic Jump Operators
equals, not_equals, is_answered, is_not_answered
When using equals or not_equals, the comparison value is the choice ID. For multi-select questions, equals checks if the value is among the selected items.
Answer Format
- Single select (
allowMultiple: false): A string (the selected choice ID). - Multi-select (
allowMultiple: true): An array of strings (the selected choice IDs).
Quiz Mode Scoring
Multiple Choice is a scorable question type in all quiz modes:
- Knowledge Quiz: Set
correctAnswers(array of correct choice IDs) andcorrectAnswerScore(points per correct answer). - Lead Qualification: Set
choiceScores(mapping of choice ID to point value). - Match Quiz: Set
choiceOutcomes(mapping of choice ID to end screen question IDs).
Keyboard shortcuts are available for choice selection. Respondents can press letter keys (A, B, C, etc.) to select options, which appear as indicators next to each choice.
Dropdown
A dropdown menu for selecting from a list of options. Supports the same configuration as Multiple Choice but displays options in a compact dropdown format.

Type identifier: dropdown
Properties
| Property | Type | Description | Default |
|---|---|---|---|
choices | Choice[] | Array of choice options. | [] |
allowMultiple | boolean | Allow selecting multiple options from the dropdown. | false |
allowOther | boolean | Show an "Other" option with free-text input. | false |
placeholder | string | Placeholder text shown before a selection is made. | None |
randomize | boolean | Randomize the order of choices. | false |
alphabeticalOrder | boolean | Sort choices alphabetically. | false |
Validation
If required is true, the respondent must select at least one option.
Logic Jump Operators
equals, not_equals, is_answered, is_not_answered
Answer Format
- Single select: A string (the selected choice ID).
- Multi-select: An array of strings (the selected choice IDs).
Quiz Mode Scoring
Dropdown is a scorable question type. Scoring configuration is identical to Multiple Choice.
Picture Choice
Present image-based options for the respondent to choose from. Each choice displays an image with an optional text label below it.

Type identifier: picture_choice
Properties
| Property | Type | Description | Default |
|---|---|---|---|
choices | Choice[] | Array of choice options. Each choice should have an imageUrl in addition to id and label. | [] |
allowMultiple | boolean | Allow selecting multiple images. | false |
allowOther | boolean | Show an "Other" option with free-text input. | false |
randomize | boolean | Randomize the order of image choices. | false |
alphabeticalOrder | boolean | Sort choices alphabetically by label. | false |
Choice Object (Picture Choice)
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for this choice. |
label | string | Text label displayed below the image. |
imageUrl | string | URL of the image to display for this choice. |
Validation
If required is true, the respondent must select at least one image.
Logic Jump Operators
equals, not_equals, is_answered, is_not_answered
Answer Format
- Single select: A string (the selected choice ID).
- Multi-select: An array of strings (the selected choice IDs).
Quiz Mode Scoring
Picture Choice is a scorable question type. Scoring configuration is identical to Multiple Choice.
Picture Choice options are displayed in a responsive grid layout. On desktop, images are shown in a multi-column grid; on mobile, they stack vertically.
Yes / No
A simple binary question that presents "Yes" and "No" buttons.

Type identifier: yes_no
Properties
The Yes/No question type has no additional properties beyond the common question properties.
Validation
If required is true, the respondent must click either "Yes" or "No".
Logic Jump Operators
equals, not_equals, is_answered, is_not_answered
When using equals, compare against true (Yes) or false (No). String values "true" and "false" are also accepted.
Answer Format
The answer is stored as a boolean (true for Yes, false for No, or null if unanswered).
Quiz Mode Scoring
Yes/No is a scorable question type:
- Knowledge Quiz: Set
correctAnswerswith a single value of"true"or"false". - Lead Qualification: Set
choiceScoreswith keys"true"and"false". - Match Quiz: Set
choiceOutcomeswith keys"true"and"false".
The Yes/No question auto-advances to the next question immediately upon selection. There is no separate "OK" button.
Ranking
Present a list of items for the respondent to arrange in their preferred order by dragging and dropping.

Type identifier: ranking
Properties
| Property | Type | Description | Default |
|---|---|---|---|
choices | Choice[] | Array of items to rank. Each has an id and label. | [] |
Validation
If required is true, the respondent must submit a ranking (all items must be in a defined order).
Logic Jump Operators
equals, not_equals, is_answered, is_not_answered
Answer Format
The answer is stored as an array of strings (choice IDs in the respondent's ranked order, from first to last).
["choice_3", "choice_1", "choice_2"]
The ranking field uses drag-and-drop interaction. On mobile devices, respondents can use touch gestures to reorder items.
Matrix
A grid-based question type where respondents rate multiple items (rows) across multiple categories (columns). Each row-column intersection is a selectable option.

Type identifier: matrix
Properties
| Property | Type | Description | Default |
|---|---|---|---|
rows | string[] | Array of row labels (the items being rated). | [] |
columns | string[] | Array of column labels (the rating categories). | [] |
randomizeRows | boolean | Randomize the order of rows. | false |
randomizeColumns | boolean | Randomize the order of columns. | false |
Validation
If required is true, the respondent must select one option per row.
Logic Jump Operators
equals, not_equals, is_answered, is_not_answered
Answer Format
The answer is stored as an object (Record<string, string>) mapping each row label to the selected column label:
{
"Product Quality": "Excellent",
"Customer Service": "Good",
"Value for Money": "Average"
}
Matrix questions display as a responsive grid on desktop and adapt to a stacked format on mobile devices for better usability. Both rows and columns support independent randomization.