Your First Questionnaire
In this tutorial you will create a working questionnaire for a fictional pet insurance product. By the end you will have a multi-step flow with an intro screen, a yes/no question, a radio selection, and a date picker — all configured entirely in the Strapi CMS.
Prerequisites
Section titled “Prerequisites”- Access to the Strapi admin panel (
strapi.staging.f14e.com/adminfor staging) - A Vertical already exists for your product (or use an existing one for practice)
1. Create a new Questionnaire entry
Section titled “1. Create a new Questionnaire entry”- Open the Strapi admin panel
- In the left sidebar, go to Content Manager
- Select Questionnaire from the collection types list
- Click Create new entry in the top-right corner
You now have an empty questionnaire form with several sections: metadata, questions, rules, and calculated fields.
2. Fill in the metadata
Section titled “2. Fill in the metadata”The metadata section defines the identity and basic configuration of your questionnaire.
| Field | Value | Why |
|---|---|---|
| name | pet-insurance |
Internal name used as the slug and in sync commands |
| slug | pet-insurance |
URL-friendly identifier (usually matches name) |
| vertical | Select your vertical (e.g., Pet) | Links this questionnaire to an insurance product |
| type | singleRegion |
This questionnaire targets one country |
| regions | Select DE |
The country this questionnaire is available in |
3. Add an INTRO question
Section titled “3. Add an INTRO question”The intro screen is the first thing users see. It sets context for what follows.
- Scroll down to the questions dynamic zone (a section where you add building blocks — see Glossary)
- In the questions section, click the + Add a component button at the bottom. A dropdown appears — select the question type.
- Select INTRO from the list
Fill in these fields:
| Field | Value |
|---|---|
| questionId | intro |
| groupId | intro |
| screen.question | Welcome to Pet Insurance |
| screen.description | Protect your furry friend with comprehensive coverage. |
The questionId is the unique identifier for this question within the questionnaire. The groupId (which phase of the flow this question belongs to — preQuote means before pricing — see Glossary) determines where in the flow this question appears. intro questions appear before any data-collection steps.
Under the Screen section of your question, fill in the Question field (the title users see) and optionally the Description field (extra context shown below the title).
4. Add a BOOLEAN question
Section titled “4. Add a BOOLEAN question”Next, add a yes/no question to ask whether the user has a pet.
- In the questions dynamic zone, click Add a component
- Select BOOLEAN
Fill in:
| Field | Value |
|---|---|
| questionId | hasPet |
| groupId | preQuote |
| required | true |
| screen.question | Do you have a pet? |
Setting required to true means the user must answer this question to complete the flow. The preQuote groupId places it in the data-collection phase before pricing.
5. Add a RADIO question
Section titled “5. Add a RADIO question”Now add a question that lets the user choose their pet type from a list.
- Add another component to the questions dynamic zone
- Select RADIO
Fill in:
| Field | Value |
|---|---|
| questionId | petType |
| groupId | preQuote |
| required | true |
| screen.question | What type of pet do you have? |
For the radio options, find the props (the settings for this question type) section. In the mapValue field (the list of options the user can choose from), add entries:
| value | label |
|---|---|
DOG |
Dog |
CAT |
Cat |
The value is what gets stored as the answer. The label is what the user sees on screen. Use SCREAMING_SNAKE_CASE for values (ALL UPPERCASE with underscores, e.g., DOG, CAT) — this is the Feather convention for fixed-list answers.
6. Add a DATE question
Section titled “6. Add a DATE question”Finally, add a date picker for the pet’s birth date.
- Add another component: DATE
Fill in:
| Field | Value |
|---|---|
| questionId | petDateOfBirth |
| groupId | preQuote |
| required | true |
| screen.question | When was your pet born? |
Configure the date constraints in props.yearRange:
| Field | Value |
|---|---|
| min | 2000 |
| max | 2026 |
The yearRange limits the date picker to a sensible range — users cannot select years outside this window.
7. Save as draft
Section titled “7. Save as draft”Click Save in the top-right corner. Your questionnaire is now saved as a draft. Drafts are not visible to end users and can be freely edited.
8. Preview your questionnaire
Section titled “8. Preview your questionnaire”- With your questionnaire open in Strapi, look for the Preview button in the top-right area
- Click it — this opens a new browser tab pointing to the staging app
- The URL will look like:
https://app.staging.feather-insurance.com/preview-staging/draft/{documentId} - Walk through the flow: you should see the intro screen, then the boolean question, radio question, and date picker in sequence
What you built
Section titled “What you built”You now have a four-step questionnaire:
- Intro — Welcome screen with a title and description
- Boolean — Yes/no question about pet ownership
- Radio — Pet type selection with two options
- Date — Pet birth date with constrained year range
The flow follows the default order: questions appear in the same sequence as they are listed in the dynamic zone, top to bottom.
Next steps
Section titled “Next steps”This questionnaire always shows every question in order. In Adding Conditional Rules, you will learn how to add branching logic so the flow changes based on user answers — for example, blocking users who do not have a pet.
See also
Section titled “See also”- Question Types Reference – full specifications for every question type and its props
- Questionnaire Metadata Reference – all metadata fields available on a questionnaire
- Add Question Types – quick guide to choosing the right question type
- Questionnaire Lifecycle – how a questionnaire moves from CMS to browser