Reachy · Survey Authoring
rohan@rivaltech.com
R
Your survey is ready for review. 28 questions across 4 sections, with routing, screeners, and AI follow-up probes. All quality checks passed.

2 routing rules couldn't be traced back to your document — I've flagged them in the Needs Attention tab. Everything else is good to go.
📋Authoring — Survey ReviewMCP App
Survey Flow
All Questions
Edit Question
Conditions
Piping & Masking
Script Editor
Needs Attention 2
Screener
Q1Screener
What is your age?
Q2Screener
How often do you drink coffee?
Q3Screener
Do you work in the food/beverage industry?
Transition
Welcome to the Coffee Brand Tracker Q3 2026
Brand Awareness
Q5Multi-select
Which coffee brands are you aware of?
Q6Multi-select
Which have you purchased in the past 3 months?
Logic
Pick top 3 brands from Q6 for NPS loop
Q7NPS
How likely to recommend [brand]? (loops for top 3)
Satisfaction Battery
Q14Attribute Grid
Rate brand attributes: Trust, Quality, Value, Innovation, Sustainability, Style (1-7)
Q15AI Follow-up
Tell us more about your experience with [top brand]
Demographics
Q21Single ChoiceNEEDS REVIEW
What is your household income range?
Branch
Route by income segment
If income > $100k (Premium)
Q22aRating Scale
Willingness to pay a premium for quality coffee?
Otherwise (Standard)
Q22bSingle Choice
What matters most when choosing coffee?
Q27AI Follow-up
Any final thoughts on the coffee market?
Q28End
Thank you for completing this survey!
Showing 16 of 32 flow steps · scroll to see all
Screener (Q1-Q4)
Q1Single ChoiceWhat is your age?
Q2Single ChoiceHow often do you drink coffee?
Q3Single ChoiceDo you work in the food/beverage industry?
Q4Single ChoiceAre you the primary grocery shopper?
Brand Awareness (Q5-Q10)
Q5Multi-selectWhich coffee brands are you aware of?
Q6Multi-selectWhich have you purchased in the past 3 months?
Q7NPSHow likely to recommend [brand]?
Q8Rating ScaleOverall satisfaction with [brand]
Q9Open TextWhat do you like most about [brand]?
Q10AI Follow-upTell us more about your brand loyalty
Satisfaction Battery (Q11-Q20)
Q11Rating ScaleSatisfaction with taste
Q12Rating ScaleSatisfaction with price
Q13Rating ScaleSatisfaction with availability
Q14Attribute GridRate brand attributes: Trust, Quality, Value, Innovation, Sustainability, Style
Q15AI Follow-upTell us more about your experience with [top brand]
Q16Single ChoiceWould you switch to a different brand? Why?
Q17Multi-selectWhat factors influence your coffee purchase?
Q18Rating ScaleOverall satisfaction with coffee experience
Q19AI Follow-upWhat would improve your coffee experience?
Q20Open TextAny other comments about coffee brands?
Demographics (Q21-Q28)
Q21Single ChoiceWhat is your household income range?NEEDS REVIEW
Q22aRating ScaleWillingness to pay premium for quality coffee?
Q22bSingle ChoiceWhat matters most when choosing coffee?
Q23Single ChoiceWhat is your gender?
Q24Single ChoiceWhat is your education level?
Q25Single ChoiceWhat region do you live in?
Q26Open TextHow did you hear about this survey?
Q27AI Follow-upAny final thoughts on the coffee market?
Q28End CardThank you for completing this survey!
+ Add a question
Q14 Attribute Grid (slider_grid)
Question Text
Scale Range
to
Low Label
High Label
Attributes (rows)
×
×
×
×
×
×
+ Add attribute
From your document
"Grid format: Trust, Quality, Value, Innovation, Sustainability, Style. Scale 1 (Strongly Disagree) to 7 (Strongly Agree)." — Satisfaction Battery §14
Edit branch conditions, screener rules, and skip logic. Click any branch or screener node in the flow to open it here.
BRANCH Income Segment Routing track_branch
Branch on answer to:
Cases:
IF answer is:
$100k+ ✕ + add value
THEN go to:
IF answer is:
$50k-$99k ✕ Under $50k ✕ + add value
THEN go to:
Default: Q22b (standard)
SCREENER Age Gate screener_age
Screen out if:
Age is OR
Screen-out message:
SKIP Satisfaction Skip Logic Q18 → Q19
IF Q18 (satisfaction)
Very Satisfied ✕ Satisfied ✕ + add value
THEN Skip and go to
Piping inserts prior answers into question text or options. Masking filters options based on prior answers. Both are resolved at runtime by the Durable Object.
PIPE TEXT Q7 NPS — Brand name piped from selection
Question text template:
How likely are you to recommend {Q6.selected_brand} to a friend or colleague?
Pipe source:
ⓘ This question loops — respondent sees it once for each brand they selected in Q6. If they picked 3 brands, they answer this question 3 times.
PIPE OPTIONS Q6 — Only show brands from Q5
Options come from:
Show only:
Preview: If respondent selected Starbucks, Blue Bottle, Nespresso in Q5, then Q6 only shows those 3 options.
MASK Q22a — Only shown to premium segment
Show this question only if:
$100k+ ✕ $75k-$99k ✕ + add value
⚠ This is different from a branch. A mask hides a single question. A branch routes to an entire section. Use masking for one-off visibility rules, branching for track-level routing.
Script nodes contain custom logic — API calls, quota checks, dynamic computations. Edit the code directly, or describe what you want changed in the chat below and Reachy will update it.
● Pick top 3 brands for NPS loop
Logic node after Q6
● Compute segment from Q1 + Q21
Logic node before concept test
SCRIPT Pick top 3 brands for NPS loop
Inputs: Q6 answer · Outputs: top3Brands
const selectedBrands = Q6_answer; // Sort by selection order, take first 3 const top3Brands = selectedBrands.slice(0, 3); // If fewer than 3 selected, use all of them if (top3Brands.length === 0) { // Shouldn't happen — Q6 requires min 1 throw new Error('No brands selected'); } return { top3Brands };
Line 10, Col 1
Last edit verified
forge() recompiled + VM ran 3 tracks — all passed. No regressions.
These routing rules couldn't be traced back to your document. Please verify they're correct.
Q21 → BranchROUTING NOT IN DOCUMENT
I set up the income-based routing (over $100k goes to premium questions, others to standard) but couldn't find the exact instruction in your questionnaire.
if (income > "$100k") → Q22a (premium segment)
else → Q22b (standard segment)
Q18 → Q19ROUTING NOT IN DOCUMENT
I added a skip: if Q18 satisfaction is "Very Satisfied" or "Satisfied", skip the follow-up probe at Q19 and go straight to Q20. This seemed logical but wasn't explicitly stated.
if (Q18 === "Very Satisfied" || Q18 === "Satisfied") → skip Q19
else → Q19 (AI follow-up probe)
Objectives covered
All paths complete
AI probes valid
Routing accurate
Test runs passed
2 need review
28 questions · 32 flow steps · 3 AI probes · 2 screeners
The Q18 skip logic makes sense. But for Q21 income routing, the threshold should be $75k not $100k.
R
Updated. Q18 skip approved. Q21 income threshold changed to $75k — respondents earning over $75k will now see the premium segment questions.

Everything checks out. Ready to publish whenever you are.
+
🎤