Proferprofer

Question Types

Reference for all question types in the feedback widget

Question Types

Profer supports four question types for structured feedback.

approve

Yes / No / Needs changes. Drives automatic page status updates.

{ "id": "q1", "type": "approve", "text": "Ready to proceed?" }

Possible answers: "yes", "no", "needs_changes"

Status behavior:

  • All approve questions answered "yes" → page status becomes approved
  • Any approve question answered "no" or "needs_changes" → page status becomes changes_requested

choice

Single-select from options. Renders as radio buttons.

{
  "id": "q2",
  "type": "choice",
  "text": "Which approach do you prefer?",
  "options": ["Option A", "Option B", "Option C"]
}

Answer: A single string from options.

multi

Multi-select from options. Renders as checkboxes.

{
  "id": "q3",
  "type": "multi",
  "text": "Which concerns apply?",
  "options": ["Performance", "Security", "UX", "Cost"]
}

Answer: An array of strings from options.

text

Free-text input. Renders as a textarea.

{ "id": "q4", "type": "text", "text": "Any additional comments?" }

Answer: A string.

Full example

[
  { "id": "q1", "type": "approve", "text": "Ready to proceed?" },
  { "id": "q2", "type": "choice", "text": "Which approach?", "options": ["Option A", "Option B"] },
  { "id": "q3", "type": "multi", "text": "Concerns?", "options": ["Performance", "Security", "UX"] },
  { "id": "q4", "type": "text", "text": "Anything else?" }
]

Validation rules

  • Question IDs must be unique within a page
  • choice and multi types require at least one option
  • Maximum 50 questions per page
  • Answers are validated server-side against the question schema

On this page