Flow Components
These components control the non-input steps of a questionnaire flow. They are not form fields — they display information, block ineligible users, mark completion, or redirect to external URLs.
All flow components share the common question fields (questionId, screen, validations). The required field is typically not relevant for these types.
IntroForm (INTRO)
Section titled “IntroForm (INTRO)”Welcome screen shown at the start of a questionnaire or section. Displays the question title and description in a Centered layout, optionally with info cards.
Use IntroForm to set context before the user begins answering questions — explain what the questionnaire is for, what information they will need, or how long it takes.
Layout: Centered
Strapi props:
| Prop | Type | Description |
|---|---|---|
infoCards |
array | List of cards displayed below the description. Each card has title, description, and optionally icon. |
App extension: The app provides CustomIntro, a richer version with enhanced layout options, custom illustrations, and more flexible content blocks. When INTRO is used in certain questionnaires, the app may render CustomIntro instead of the base IntroForm.
Stored value: None. IntroForm does not collect data.
Blocker (BLOCKER)
Section titled “Blocker (BLOCKER)”Stop screen for ineligible users. When a user’s answers make them ineligible for a product, rules can navigate them to a Blocker question that explains why they cannot continue and offers alternative actions.
Layout: Standalone (full control over the page)
Strapi props:
| Prop | Type | Description |
|---|---|---|
buttonProps |
array | Action buttons displayed on the blocker page. Each entry has text (button label), href (URL or path), and variant (primary, secondary). |
Typical setup:
- Create a BLOCKER question in Strapi (e.g.,
questionId: "ageBlocker") - Set the screen’s
questionto explain why the user is blocked (e.g., “Unfortunately, this product is not available for your age group”) - Set the screen’s
descriptionwith additional context or suggestions - Add
buttonPropswith links to alternative products or the homepage - Create a rule on a previous question that navigates to this blocker when the blocking condition is met
Example buttonProps:
[ { "text": "Explore other products", "href": "/en/insurance/", "variant": "primary" }, { "text": "Contact us", "href": "/en/contact/", "variant": "secondary" }]Stored value: None. Blocker is a dead end — the user cannot proceed past it.
Success (SUCCESS)
Section titled “Success (SUCCESS)”Completion screen shown after a questionnaire is successfully submitted. Displays a congratulations message, summary information, and next-step actions.
Layout: Standalone (full control over the page)
Strapi props:
| Prop | Type | Description |
|---|---|---|
buttonProps |
array | Action buttons. Each entry has text, href, variant (primary, secondary), and optionally redirectToQuestionId (navigates to another question in the same questionnaire instead of an external URL). |
infoCards |
array | Information cards displayed on the success page. Each card has title, description, and optionally icon. Used for next steps, tips, or related information. |
Typical setup:
The Success question is usually the last step in a signup flow, placed after the Processing step. It confirms that the policy was created and shows the user what to expect next (e.g., “Check your email for your policy documents”).
Stored value: None. Success is a terminal screen.
Redirect (REDIRECT)
Section titled “Redirect (REDIRECT)”Immediately redirects the user to another URL. No visible UI is rendered — the redirect happens as soon as this question is reached.
Layout: Not applicable (no UI)
Used to send users to external pages, other questionnaires, or specific app routes. Common use cases:
- Redirecting to a partner website after data collection
- Sending users to a different questionnaire flow based on their answers
- Routing to the account dashboard after completion
Strapi props:
| Prop | Type | Description |
|---|---|---|
url |
string | The URL to redirect to. Can be absolute (external) or relative (within the app). |
Stored value: None. The user is redirected before any value could be stored.
See also
Section titled “See also”- Question Types Reference – Strapi-side specs for INTRO, BLOCKER, SUCCESS, and REDIRECT
- Configure Rules – how rules route users to blocker and success screens
- Rule Evaluation – how flow control decisions are made at runtime