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
| Type | Best for |
|---|---|
multiple_choice | Questions with distinct right/wrong answers |
true_false | Factual recall and misconception correction |
sort_list | Sequences, steps, processes (vertical ordering) |
sort_words | Sentence reconstruction, grammar (horizontal ordering) |
fill_blanks | Reading comprehension, vocabulary in context (typed input) |
fill_blanks_options | Same as fill_blanks but with dropdown menus |
drag_words | Gap-fill with draggable word tokens |
crossword | Vocabulary 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:
| Field | Type | Notes |
|---|---|---|
type | "multiple_choice" | |
task | string | Instruction shown above all questions |
questions | array | One or more questions |
Each question:
| Field | Type | Notes |
|---|---|---|
task | string | The question text |
multiple | boolean | true if the learner must select all correct options simultaneously |
answers | array | Answer options — 4 by default, at least one marked correct |
Each answer:
| Field | Type | Notes |
|---|---|---|
value | string | The answer text |
correct | boolean | Whether this answer is correct |
score | integer | 1 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:
| Field | Type | Notes |
|---|---|---|
type | "true_false" | |
task | string | Instruction shown above the statements |
questions | array | At least 3 statements recommended |
Each question:
| Field | Type | Notes |
|---|---|---|
task | string | The statement to classify |
answers | array | Exactly 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:
| Field | Type | Notes |
|---|---|---|
type | "sort_list" | |
task | string | Instruction shown above the list |
questions | array | Exactly one question entry |
The single question:
| Field | Type | Notes |
|---|---|---|
task | string | Optional label for the list |
answers | array | Items listed in the correct order — the widget shuffles them for the learner |
Each answer:
| Field | Type | Notes |
|---|---|---|
value | string | The item text |
priority | integer | Correct position, 0-based — defines the correct order |
correct | false | Always false — position, not this flag, defines correctness |
score | 0 | Always 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 list — type: "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:
| Field | Type | Notes |
|---|---|---|
type | "fill_blanks" | |
task | string | Optional instruction |
body | string | HTML text containing blank markers: [#1#], [#2#], etc. |
questions | array | One 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):
| Field | Type | Notes |
|---|---|---|
placeholder | string | The marker this entry corresponds to, e.g. "[#1#]" |
answers | array | First 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:
| Field | Type | Notes |
|---|---|---|
type | "crossword" | |
task | string | Optional instruction |
questions | array | Clue–answer pairs. 5–10 words recommended for a well-formed crossword. |
Each question:
| Field | Type | Notes |
|---|---|---|
task | string | The crossword clue |
answers | array | Exactly one answer |
The single answer:
| Field | Type | Notes |
|---|---|---|
value | string | The crossword word — UPPERCASE letters only, no spaces or punctuation |
correct | true | Always true |
score | 1 | Always 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 inbodymust correspond one-to-one withplaceholdervalues inquestions, in the same order. - Sort exercises define correct order via
priority. Items with lowerpriorityvalues come first; the widget shuffles the display automatically.