studyGuide field of Create Study defines everything participants see: the questions, their order, screening, concept testing, and routing logic. It’s an array of blocks, and each block contains one or more items (questions).
Minimal study
Top-level request fields
Internal study title (shown in the dashboard).
Participant-facing title. Falls back to
title when omitted.Background context for the AI interviewer — what the study is about and who you’re talking to.
What you want to learn. Helps the AI interviewer probe in the right direction.
{ "title": "...", "message": "..." } shown to participants before the interview starts.Message shown when the interview ends.
The blocks described below. At least one.
Config
One of
text, audio, audio_text, audio_screen, video, video_screen.Language code the questions are written in (e.g.
en, de, fr, es, zh-TW, en-medical). See the complete language list.Translation target codes participants can switch to.
null or omitted = English only.Restrict which devices can take the study: any of
ios, android, desktop.Example config
Blocks
Every block has atype, a title, and an items array (at least one item).
Screening blocks
Screening blocks may contain onlymultiple_choice items, and every option must carry a status:
approve— selecting it qualifies the participantreject— selecting it screens the participant outneutral— doesn’t affect qualification
Screening block
status must be null or omitted.
Concept blocks
Concept blocks show stimuli — product ideas, ads, prototypes — and ask the block’s items about each one. They require aconceptSamplingConfig with at least one concept; other block types must omit it.
Each concept has a
nickname (internal label) and content: a participant-facing title, optional description, optional media (images/videos), and an optional embed (e.g. a Figma prototype URL).How many concepts each participant sees, randomly sampled.
null = every participant sees all concepts.conditional, so it’s only shown to participants matching the criteria — e.g. gate each concept on a screener answer. selectedTemplateOptions criteria on a concept must reference an item in a block before the concept block.
Concept block
Question types
All items share a few common fields:The question text.
One of
open_ended, multiple_choice, ranking, matrix, max_diff, statement.Stable identifier for the item, unique within the payload. Auto-generated when omitted — set it only when a conditional or
carryForwardFrom needs to reference this item.Show this question only when the criteria match. See Conditional logic.
Images or videos shown with the question:
{ "name", "url", "type": "image" | "video", "widthPercentage"?, "forceWatching"? }. forceWatching requires the participant to finish the video before answering.An embedded web page shown with the question:
{ "url", "proxyUrl"? }.Open-ended
The AI interviewer asks the question conversationally and can probe with follow-ups.Follow-up depth:
none, light, medium, or heavy.Extra instructions for the AI interviewer on how to probe this question.
text, voice, screenRecording, or none.Lets the AI observe the participant’s screen while they answer. Only applies when
preferredInput is screenRecording.Open-ended
Multiple choice
Required unless
carryForwardFrom is set. Each option: { "text", "externalId"?, "status"?, "exclusiveOption"? }.Allow selecting more than one option.
Bounds on how many options must be selected. Both must be set together (or both omitted), only valid when
multiSelect is true, and minSelect ≤ maxSelect.Adds an “Other” option with free-text input.
Shuffle option order per participant.
Keep the last option in place when randomizing (e.g. “None of the above”).
externalId of an earlier multi-select multiple choice item; this question shows only the options the participant selected there. See Carry-forward.exclusiveOption: true clears and locks the other selections when picked (e.g. “None of the above”). It’s only valid on the final option of a multi-select question.
Multiple choice
Ranking
Participants order the options. SupportsrandomizeOptionOrder and carryForwardFrom (rank only the options selected in an earlier multi-select question).
Ranking
Matrix
A grid: each row is rated single-select across the options (columns).Matrix
MaxDiff
Best/worst scaling across at least two options. See MaxDiff analysis for how results are reported.The items being compared (minimum 2).
What participants judge the items on (e.g. “importance”, “appeal”).
How many items are shown per comparison screen.
MaxDiff
Statement
Not a question — shows text (and optional media/embed) with a continue button. Use it for instructions or section intros.Custom label for the continue button.
Statement
Conditional logic
Any item — and any concept in a concept block — can carry aconditional: it’s only shown when the criteria match. Criteria are combined with an operator (and / or).
Show only if they selected Blue Bottle
selectedTemplateOptions — based on an answer to an earlier multiple_choice or matrix item.
externalId of an earlier multiple_choice or matrix item. For a conditional on a concept, the item must live in a block before the concept block.mustSelect or mustNotSelect.Option
externalIds (falls back to option text). For a matrix source, these are the columns.Required only for a matrix source: the exact row text the criterion applies to.
searchParam — based on a URL parameter passed into the study link.
The query parameter name, e.g.
segment in https://listenlabs.ai/s/abc123?segment=pro.The value it must equal.
Carry-forward
multiple_choice and ranking items can set carryForwardFrom to the externalId of an earlier multi-select multiple choice item. The question then only shows (or ranks) the options the participant actually selected there — so you can ask “which have you used?” followed by “which of those do you prefer?”. When carryForwardFrom is set, omit options; they’re inherited from the source question.
External IDs
externalIds are stable handles you assign to blocks, items, options, and concepts. They’re optional everywhere — the server auto-generates them when omitted — but you must set one on any item that a conditional (questionId) or carryForwardFrom references. All externalIds must be unique across the entire payload.
Validation rules
Beyond field-level validation, the server enforces these cross-field rules, returning400 with code: invalid_study_guide and a descriptive error message when violated:
- At most one screening block, and it must be the first block.
- Screening blocks may contain only
multiple_choiceitems, and every option in them must carry astatus; outside screening blocks,statusmust be null/omitted. - Concept blocks require
conceptSamplingConfigwith at least one concept; other block types must omit it. externalIds must be unique across blocks, items, options, and concepts.conditional.criteria[].questionIdandcarryForwardFrommust reference theexternalIdof an earlier item (of the right type).- A concept’s
conditionalmust reference an item in a block before the concept block. minSelect/maxSelectmust both be set or both omitted, only whenmultiSelectis true, withminSelect≤maxSelect.exclusiveOptionis only valid on the final option of a multi-selectmultiple_choicequestion.