learnsai v0.243
← User Guide

Concept guide

Questionnaire JSON format

Import one question object, an array of questions, or an object containing an exercises array. Files must contain UTF-8 JSON and be no larger than 1 MB.

Recommended structure

{
  "exercises": [
    {
      "id": "opening-choice",
      "type": "multiple_choice",
      "prompt": "Where should we begin?",
      "options": ["Purpose", "People", "Plan"],
      "anonymous": false,
      "allow_revision": true
    }
  ]
}

Fields used by every question

FieldExpected value
idUnique lowercase kebab-case text, such as opening-choice.
typemultiple_choice, multi_select, likert, free_text, or word_cloud.
promptThe question shown to participants.
anonymoustrue or false.
allow_revisiontrue or false.

Type-specific fields

  • Multiple choice: options.
  • Multi-select: options, min_selections, and max_selections.
  • Likert: min, max, low_label, and high_label.
  • Free text: max_length and optional placeholder.
  • Word cloud: max_words and max_word_length.

Option values may be plain strings. learnsai generates stable option IDs automatically.

Questionnaire block

A questionnaire shows several A–D multiple-choice questions on one screen with a single Submit. Answers are anonymous — no participant identity is stored — participants may leave some blank, and each question shows its own aggregate chart. In the module editor choose Add content → Questionnaire; the create form takes structured questions or this JSON in its “paste as JSON” box.

{
  "title": "Quick pulse check",
  "intro": "Answer any that apply.",
  "questions": [
    {
      "prompt": "Where are you with AI adoption?",
      "options": ["Not exploring", "Piloting", "Scaling", "Embedded"],
      "trainer_note": "Read the room before revealing."
    },
    {
      "prompt": "What is the main barrier?",
      "options": ["Skills", "Budget", "Trust", "Time"]
    }
  ]
}
  • Provide at least two questions. Each is a multiple_choice question — four options (A–D) is the usual shape.
  • Every child is forced anonymous: true and allow_revision: true; a questionnaire with an identified question is rejected.
  • Questionnaires are unscored, so there is no correct-answer field. An answer_id is ignored.
  • trainer_note (optional) is shown to you in the console and presenter and is never shown to participants.

Import workflow

  1. Open the course editor and choose an insertion position.
  2. Select Import Q&A JSON.
  3. Upload a .json file or paste the JSON text.
  4. Select Validate and insert.
  5. Drag the imported questions into the required order.