Exercise editor

The Exercise editor lets you configure interactive exercises for learners. You choose the exercise type, set the task instruction, and define questions and answers. The AI provides a draft; you can adjust questions, fix correct answers, and reorder items in the widget before saving.

How to invoke it

Ask the AI to create an exercise in natural language:

  • “Add a multiple choice quiz on photosynthesis”
  • “Create a true/false exercise on common grammar myths”
  • “Make a fill-in-the-blanks exercise on the water cycle”
  • “Add a crossword about chemistry vocabulary”

The AI calls edit_exercise with a pre-filled draft and opens the widget. It chooses the exercise type automatically based on your description, or you can name the type explicitly.

Exercise types

TypeBest for
multiple_choiceQuestions with distinct right/wrong answers
true_falseFactual recall and misconception correction
sort_listSequences, steps, processes (vertical ordering)
sort_wordsSentence reconstruction, grammar (horizontal ordering)
fill_blanksReading comprehension, vocabulary in context (typed input)
fill_blanks_optionsSame as fill_blanks but with dropdown menus
drag_wordsGap-fill with draggable word tokens
crosswordVocabulary review in puzzle form

Multiple choice

Questions each with selectable answer options. At least one answer per question must be marked correct.

Top-level fields:

FieldTypeNotes
type"multiple_choice"
taskstringInstruction shown above all questions
questionsarrayOne or more questions

Each question:

FieldTypeNotes
taskstringThe question text
multiplebooleantrue if the learner must select all correct options simultaneously
answersarrayAnswer options — 4 by default, at least one marked correct

Each answer:

FieldTypeNotes
valuestringThe answer text
correctbooleanWhether this answer is correct
scoreinteger1 if correct, 0 otherwise

True/false

Statements the learner classifies as true or false. Effective for factual recall and correcting common misconceptions.

Top-level fields:

FieldTypeNotes
type"true_false"
taskstringInstruction shown above the statements
questionsarrayAt least 3 statements recommended

Each question:

FieldTypeNotes
taskstringThe statement to classify
answersarrayExactly 2 answers: one with value: "true" and one with value: "false". Set correct: true on the right one.

Sort list

Items the learner drags into the correct vertical order. Use for sequences, chronological events, or procedural steps.

Top-level fields:

FieldTypeNotes
type"sort_list"
taskstringInstruction shown above the list
questionsarrayExactly one question entry

The single question:

FieldTypeNotes
taskstringOptional label for the list
answersarrayItems listed in the correct order — the widget shuffles them for the learner

Each answer:

FieldTypeNotes
valuestringThe item text
priorityintegerCorrect position, 0-based — defines the correct order
correctfalseAlways false — position, not this flag, defines correctness
score0Always 0

Sort words

Words the learner rearranges horizontally to form a correct sentence or phrase. Use for language and grammar exercises.

Top-level fields: same structure as Sort listtype: "sort_words", task, exactly one questions entry with answers in the correct word order.

Each answer’s priority defines the correct word position; the widget displays words shuffled.


Fill blanks

A paragraph with gaps the learner fills by typing. Blanks are marked with [#N#] tokens in the body text.

Top-level fields:

FieldTypeNotes
type"fill_blanks"
taskstringOptional instruction
bodystringHTML text containing blank markers: [#1#], [#2#], etc.
questionsarrayOne entry per blank, in the order they appear in body

Body format example:

The capital of [#1#] is [#2#], founded in [#3#].

Each question (one per blank):

FieldTypeNotes
placeholderstringThe marker this entry corresponds to, e.g. "[#1#]"
answersarrayFirst answer is the correct one (score: 1); remaining are distractors (score: 0). Include at least one distractor.

Fill blanks with options

Identical to Fill blanks but gaps are filled with a dropdown menu instead of typed input. Use when answer precision matters but typing would be disruptive.

Set type: "fill_blanks_options" — all other fields are the same as fill_blanks.


Drag words

Identical to Fill blanks but gaps are filled by dragging word tokens from a pool. Use for language practice where the physical act of selecting reinforces learning.

Set type: "drag_words" — all other fields are the same as fill_blanks.


Crossword

A classic crossword puzzle with clues and single-word answers. Use for vocabulary review.

Top-level fields:

FieldTypeNotes
type"crossword"
taskstringOptional instruction
questionsarrayClue–answer pairs. 5–10 words recommended for a well-formed crossword.

Each question:

FieldTypeNotes
taskstringThe crossword clue
answersarrayExactly one answer

The single answer:

FieldTypeNotes
valuestringThe crossword word — UPPERCASE letters only, no spaces or punctuation
correcttrueAlways true
score1Always 1

Tips

  • Name the type when you know it. “Create a drag-words exercise” is more precise than “create a fill-in exercise” — the AI will use the right type without guessing.
  • The AI handles answer generation. For most types, you only need to describe the topic and the AI will generate questions, correct answers, and distractors.
  • Crossword words must be single uppercase words. Multi-word answers and punctuation are not supported — rewrite clues so that the answer is always one word.
  • Fill-blanks blanks must match questions exactly. The [#N#] markers in body must correspond one-to-one with placeholder values in questions, in the same order.
  • Sort exercises define correct order via priority. Items with lower priority values come first; the widget shuffles the display automatically.