Importing questions
Last updated on
General import
You can import existing questions into Screen and use them in your tests. Three question types can be imported from CSV files: multiple-choice questions, free text questions, and video questions.
Use one CSV file per question type. Do not mix multiple-choice, free-text, and video questions in the same file. Start from the import template for the type of question you want to create, keep the header row, and add one question per row.
The import templates use semicolon-separated CSV files. Keep the same delimiter and the exact header names from the template. Optional fields can be left blank; when they are blank, Screen applies the default value described below.
| Common field | Required? | Data type | Description |
|---|---|---|---|
title | ✔️ | text | Title of the question. |
statement | ✔️ | text | The question statement shown to the candidate. |
domain | ✔️ | text | The knowledge domain or topic the question belongs to. |
duration | ✔️ | integer | The number of seconds the candidate has to answer the question. Must be greater than 1. |
difficulty | integer | Level of difficulty. Valid values are 1 for easy, 2 for medium, and 3 for hard. Default value is 2. | |
points | integer | The number of points awarded for solving the question. Must be greater than 0. If left blank, the value is computed automatically according to the question duration and difficulty. | |
language | text | Language the question is written in. Valid values are EN for English, FR for French, and ES for Spanish. Default is the language of the recruiter. | |
automatically_selectable | boolean | Allows the question to be used in automatically generated tests. Default value is false. | |
shareable | boolean | Allows the question to be shared with CoderPad for use in the public question library. Default value is false. | |
team | text | The team that owns the question. |
✅ Boolean fields accept three binary formats:
1/0,true/false, oryes/no.
Once your CSV file is ready, go to the Questions page and click Create question.
Then click Import CSV, select the question type to import, and upload your file.


After the file is uploaded, Screen displays an Import summary with the questions that were successfully imported and the questions that could not be imported. Hover over the Failed icon to see why a question could not be imported.
You can fix the failed rows and re-import the file, or continue only with the questions that were successfully imported by clicking Create [n] question. Imported questions are available under the Custom tab on the Questions page.
Multiple-choice questions
Use the multiple-choice question template to get started. The template includes the common fields above, plus the fields below.
| Field | Required? | Data type | Description |
|---|---|---|---|
answer | ✔️ | text | One column per answer option. You must provide at least 2 answers and can provide up to 10. Use the exact header answer for each answer column. Prefix each correct answer with an asterisk, for example *Paris. At least one answer must be marked as correct. |
skill | text | The skill being tested. Default value is Language knowledge. | |
randomization | boolean | If set to true, the answer options are displayed in a random order. Default value is false. | |
multiple_selection | boolean | Allows the candidate to select more than one answer. Default value is false. If more than one answer is marked as correct in the answer columns, this setting can be disregarded. |
⚠️ To set up multiple-choice answers correctly, add one
answerheader column for each choice. Do not rename the columns toanswer_1,answer_2, and so on.
Example multiple-choice CSV header:
title;statement;answer;answer;answer;answer;answer;domain;duration;skill;difficulty;randomization;points;language;automatically_selectable;shareable;team;multiple_selection
Free text questions
Use the free text question template to get started. The template includes the common fields above, plus answer columns and an optional skill column.
| Field | Required? | Data type | Description |
|---|---|---|---|
answer | text | One column per accepted answer. Use the exact header answer for each answer column. Leave all answer cells blank to import a question that requires manual validation. | |
skill | text | The skill being tested for automatic validation. Default value is Language knowledge unless another skill is defined in the file. For manual validation, the skill is set to Language knowledge. |
The answer columns determine how the question is validated:
| Answer columns | Validation mode | Result |
|---|---|---|
| At least one answer is provided. | Automatic | The candidate’s response is validated automatically against the provided answer or answers. The skill is Language knowledge by default, or the skill defined in the file. |
| No answer is provided. | Manual | The imported validation label is Manual validation, and the skill is Language knowledge. |
For automatic validation, you can define a regular expression answer with regex(XXX), where XXX is the regular expression pattern. For example, regex(^[Pp]aris$) accepts “Paris” or “paris”.
Example free-text CSV header:
title;statement;answer;answer;answer;answer;answer;domain;duration;skill;difficulty;points;language;automatically_selectable;shareable;team
Video questions
Use the video question template when candidates must record a video or audio response. The template includes the common fields above, plus recording and evaluation criterion fields.
| Field | Required? | Data type | Possible values and behavior |
|---|---|---|---|
recording_format | text | Valid values are video and audio. Default value is video. | |
criterion_label or criterion_label_x | ✔️ at least one | text | The label of an evaluation criterion. You can use between 1 and 10 criterion label columns. When using numbered columns, x must be between 1 and 10. |
criterion_skill or criterion_skill_x | text | The skill associated with the matching criterion. Default value is the question domain. This field must match an existing criterion_label_x column with the same suffix; otherwise, it is ignored. | |
criterion_weight or criterion_weight_x | number | The criterion weight. Valid values are between 0 and 5, inclusive. Default value is 1. This field must match an existing criterion_label_x column with the same suffix; otherwise, it is ignored. |
Use the same suffix for a criterion’s label, skill, and weight. For example, criterion_label_2, criterion_skill_2, and criterion_weight_2 belong to the same evaluation criterion. The video template includes three criteria, but you can use up to ten.
Example video CSV header:
title;statement;criterion_label_1;criterion_skill_1;criterion_weight_1;criterion_label_2;criterion_skill_2;criterion_weight_2;criterion_label_3;criterion_skill_3;criterion_weight_3;recording_format;domain;duration;difficulty;points;language;automatically_selectable;shareable;team

