How to Add Custom Questions into Isora GRC
You must be a superuser to add custom questions into Isora GRC.
Adding questions into Isora GRC is a multi-step process, and each step needs to be done in the correct order to be successful. If you already have a list of questions you want to ask, you can manually add them one by one into Isora GRC or upload them at once using a CSV. The CSV upload method is recommended.
Before you upload the questions themselves, a number of dependencies need to be satisfied. All of the following objects must exist first, before creating questions:
Categories - All questions must belong to a category. Categories may be nested.
Answer Response Groups - Each question uses an answer response group to specify how the question may be answered.
Answer Choices - The answer response groups themselves consist of a group of answer choices. The answer choices that comprise an answer response group have to exist before you can create the answer response group.
If all of your questions use simple answers like yes/no, then you very likely don’t need to create any answer choices or answer response groups. Use the flowchart below to walk through the process, or view a YouTube playlist that covers the entire process: Working With Custom Question Objects .
I. Start Here
Download the CSV template for questions. (See: How to Download a CSV Template).
At first, there are a lot of fields you’re going to be confused about but you’re going to fill them in bit by bit. (Refer to: Working With Questions for details). Start by pasting in the text of your questions to the first column of data. Leave the header alone.
II. Question Categories
Download the CSV template for question categories. (See: How to Download a CSV Template).
Think of an over-arching name for your set of questions. If you eventually plan to have multiple versions of them, you may want to include versioning info at the end of the name. Put it in the first data field (under the header) of your categories CSV file. This will be the parent of all your child categories.
Do you have very few questions, like 20 or fewer? If so then replicate the one category name into the 3rd column “question_category” for all questions in your question CSV and skip ahead to step 6.
Are your questions already organized into categories? If not, spend some time thinking about how to break them up into categories to make them more manageable.
Paste all of the categories into your categories CSV file, underneath the parent one you created in the previous step. Then replicate the name of the main parent category into the 2nd column of the rest of the (child) categories.
Paste the appropriate category name into the 3rd column “question_category” for each question in your questions CSV file.
Upload the categories CSV. (See: How to Create New Question Categories).
III. Answers
Do your questions all have simple yes/no type of answers (or other answer choices that are already implemented on your instance of Isora GRC)? You can look at existing response groups by going to Settings → Response Choices → Answer Response Groups. If yes, then skip ahead to section IV.
What are the possible answers to your questions? On your instance of Isora GRC, go to Settings → Response Choices → Answer Choices. If you need to make some new ones, follow the instructions found in How to Create a New Answer Choice .
Group multiple answer choices as needed into new answer response groups, following the instructions found in How to Create a New Answer Response Group .
IV. Question Numbering and Nesting
If you only have one category of questions, it is recommended to just number them from 1-N. The number should be at the beginning of the question text. If you have multiple categories, you may want to separately number each category. Using a numbering scheme ensures that the question list you will later create will be ordered correctly. (See: Ordering of Questions for more info.)
Are any of the questions nested (have a parent/child relationship)? If not, then leave the 2nd “parent” column blank for all questions and put a “y” into the “show_if_parent” column for all questions. Skip ahead to section V.
For any questions that have a parent, copy and paste the text of the parent question into the “parent” column. The reason we did the numbering earlier is because the text needs to exactly match. If you change the numbering (or any text) of a parent question later, you had better make sure you update the parent field of any child questions appropriately.
Fill in the “show_if_parent” column correctly- use “y” if you only want to display the question if the parent was answered favorably, and “n” if you want it to display if the answer to the parent was unfavorable. Remember, whether “yes” or “no” is actually the favorable answer depends on the answer response group you used.
All child questions must be in the same category as their parent question.
Some versions of Isora GRC from before November 2022 have a bug where you can’t upload parent and child questions at the same time. The work-around is to split up your questions into separate CSVs and then upload in a specific order. First, upload all of the questions that have no parent. Then do the ones that do. If you have multiple levels of nesting then you may need to split it up into even more separate uploads.
V. Remaining Question Fields & Question List
Fill in the rest of the fields for each question. All fields must be filled in except the “parent” field, which may be blank. (See: Questions CSV Upload .)
Upload the questions CSV file (See: How to Create a New Question ).
Create a question list using the questions you just uploaded. (See: How to Create a New Question List .)