Skip to main content
Dynamic multiple choice lets you ask a question whose options are generated at runtime. Use it for quizzes, product pickers, store lists, or any menu that should not be hard-coded on the canvas.

How it works

  1. Options are stored in a single custom field (comma-separated string or JSON array).
  2. A User Input / Get User Data block with reply type Multiple Choice reads that field and renders the options.
  3. The contact’s selection is saved (typically to another field) so you can Condition on it.

Option data formats

Comma-separated values

Useful when options come from Google Sheets or a simple text field.

JSON array (from an API)

Use External Request with response mapping to save data into the options custom field before the multiple-choice step.

Build the path

1

Create custom fields

Create one field for options and one for the selected answer (optional but recommended).
2

Load options

Set the options field with Set Custom Field, Sheets, or External Request mapping.
3

Ask with Multiple Choice

Add User Input / Get User Data, set reply type to Multiple Choice, and point it at the options field.
4

Branch on the answer

Add a Condition on the selected value, or personalize with {{selected_field}}.

Tips

  • Keep option labels short — long strings truncate on mobile clients.
  • Reload options whenever the source data changes (fetch immediately before the question).
  • Provide an else-path when the options field is empty.
  • For static menus that never change, hard-coded Quick Replies are simpler.

Next

External requests

Load option arrays from your API.

Recipes

See qualification and menu patterns.