Hand the prompt below to ChatGPT, Claude, or Gemini. It writes survey questions that respect exactly what AutoSurvey can build — so the output pastes straight into AutoSurvey with minimal friction. This page doubles as a practical guide to designing a good survey.
Paste this into ChatGPT, Claude, or Gemini, then fill in the bracketed lines at the top describing your survey. The chatbot will return your questions in two ready-to-use formats.
You are an expert survey designer. Design a complete, well-structured survey that I will build in AutoSurvey (a Salesforce app that turns a list of questions into a deployable survey). Follow AutoSurvey's capabilities and limits exactly, so your output drops in cleanly.
MY SURVEY
- Topic / goal: [DESCRIBE WHAT YOU WANT TO LEARN]
- Audience / respondents: [WHO IS TAKING THIS]
- Approx length: [E.G. 10-15 QUESTIONS ACROSS 2-3 SCREENS]
- Must include: [ANYTHING REQUIRED, E.G. AN NPS QUESTION AND A COMMENT BOX]
(If I left any of these blank, ask me before generating.)
QUESTION TYPES YOU MAY USE (pick the best fit for each question)
- NPS - the classic 0-10 "how likely are you to recommend..." question. Use AT MOST ONCE, only for true likelihood-to-recommend. No answer options needed.
- Star rating - a 1-5 star rating for satisfaction or quality. No options needed.
- Slider - a 0-10 slider for intensity or magnitude (effort, likelihood, strength). No options needed.
- Matrix - 3+ items rated on the SAME scale, shown as a grid ("rate each of the following..."). Every row shares ONE grid title, ONE answer scale (option set), and ONE screen.
- Rating (Likert) - a labeled 1-5 scale (agree/disagree, satisfaction) for a SINGLE item. Needs a named set of answer labels.
- Single choice - pick exactly one option from a list.
- Multi choice - "select all that apply".
- Short text / Long text - open-ended single-line / paragraph input.
Prefer NPS / Star / Slider / Matrix when a question genuinely fits that pattern (they make a richer survey) - but do not force them where a plain choice or scale is the honest fit.
STRUCTURE RULES (must follow)
- Group questions into a few logical screens (pages). Aim for 3-5 questions per screen, 7 maximum. Keep related rating/choice questions together; put optional open-text follow-ups at the end of a screen.
- Screen names must be 35 characters or fewer.
- Choice, rating, and matrix questions must come with a clear, sensible set of answer options. Give each option set a short NAME (e.g. "Satisfaction5", "CommunicationMethods") and reuse the same set whenever the scale is identical.
- Conditional follow-ups (show a question only sometimes): a question may be shown based on an earlier answer ONLY IF the controlling question is a SINGLE-CHOICE question on the SAME screen, and the trigger is one of that question's options (operator "is" or "is not"). Cross-screen conditions are NOT supported - keep the controlling question and the dependent question on the same screen. Use this only for genuine branching (e.g. ask "What went wrong?" only when Satisfaction is "Dissatisfied").
WRITING RULES
- One idea per question - no double-barreled questions.
- Neutral, non-leading, professional wording.
- No redundant or overlapping questions; progress logically from general to specific.
- Keep the survey appropriately short.
OUTPUT - give me BOTH of the following:
(A) A numbered list, grouped by screen. For each question, show the question text, the answer type, and the answer options (when relevant). Mark any conditional question with "(show only if ...)". I will paste this into AutoSurvey's in-app AI step.
(B) Two import tables.
Questions table - columns, in this order:
API Name | Question | Display Type | Screen | Section | Option Set | Required | Visibility | Help Text
- Use these EXACT Display Type values: Text (short open text), Text Area (long open text), RadioVertical (single choice, up to 10 options), Picklist (single choice with more than 10 options), Checkbox (multi-select), RadioHorizontal (Likert 1-5), NPS, Star, Slider, Matrix.
- Section is ONLY for Matrix rows (the shared grid title); leave it blank otherwise.
- Option Set is the NAME of the answer set for choice/rating/matrix rows; leave it blank for Text, Text Area, NPS, Star, and Slider.
- Required is TRUE or FALSE. Help Text is an optional one-line hint (leave blank if not useful).
- Visibility (optional) expresses a same-screen condition as: ControllerApiName = 'OptionValue' (use != for "is not"). The controller must be a single-choice question on the same screen.
- API Name: a short unique identifier using letters, numbers and underscores, starting with a letter (e.g. Recommend_Likelihood).
- If a single- or multi-choice question needs an open-ended escape hatch, prefer an "Other (please specify)" choice over a separate text question: note it in output (A), and in the table add an "Allow Other" column set to TRUE on that row.
Option Sets table - columns, in this order:
Option Set | Label | Value | Order | Score
- One row per option. Label is what the respondent sees; Value is the stored value (defaults to the Label if blank). Score is an optional number for analytics (e.g. 5,4,3,2,1 for a 5-point scale). Reuse the same Option Set name across questions that share a scale.
Do not invent question types, Display Type values, or columns beyond those listed above.
Frontier / flagship models handle matrix, NPS, star, slider, and same-screen conditional logic reliably.
e.g. ChatGPT (GPT-4o, GPT-4.1, GPT-5, o-series) · Claude (Opus, Sonnet) · Gemini (1.5 / 2.5 Pro, Advanced)
Smaller, faster, free, or older models are far more reliable when kept to the simple question types.
e.g. ChatGPT free default / GPT-4o mini / 3.5 · Claude Haiku · Gemini Flash / Nano · small local models (Llama, Mistral, Phi)
Rule of thumb: a paid flagship or reasoning model → Full; a free, “mini”, “flash”, or “lite” model → Lite. (Best guess for now — we’ll refine it.)
The chatbot gives you both formats. Pick whichever path fits how you like to work.
These are the question and answer types AutoSurvey renders as polished, purpose-built inputs. The chip on each card shows the exact Display Type value used in the import format.
The classic 0–10 “how likely are you to recommend…” Net Promoter question. The scale is built in — no options needed. At most one per survey.
A 1–5 star rating for satisfaction or quality, where stars read naturally. No options needed.
A 0–10 slider for intensity or magnitude — effort, likelihood, strength of feeling. No options needed.
3+ items all rated on the same scale, shown as a grid. Every row shares one grid title, one answer scale, and one screen.
A labeled 1–5 scale (agree/disagree, satisfaction) for a single item. Needs a defined set of answer labels.
Pick exactly one option from a list. With more than 10 options it renders as a dropdown (Picklist).
“Select all that apply.” Respondents can pick any number of options from the list.
Open-ended input: a single line (Text) or a paragraph (Text Area). Great for “anything else?” follow-ups.
Not a question — an instruction, intro, or section note shown to the respondent with no input field.
Three structural ideas shape every AutoSurvey — and one of them has a hard limit worth memorizing.
Questions are grouped into a small number of logical screens. Group related rating/choice questions together; put optional open-text follow-ups at the end of a screen.
Choice, rating, and matrix questions reference a named set of answer options (e.g. Satisfaction5). One set can be reused across many questions.
Show a follow-up question only when an earlier answer warrants it — e.g. ask “why?” only when satisfaction is “Dissatisfied.”
A question can be shown or hidden based on another answer only when both questions live on the same screen. The controlling question must be a single-choice question on that screen, and the trigger value must be one of its options. Cross-screen conditional logic is not supported — this is a built-in limit of Salesforce Flow (a screen can't react to an answer the respondent hasn't reached yet), not an AutoSurvey setting you can flip.
What this means for you: if you want answer X to reveal follow-up Y, put X and Y on the same screen. If your branching needs to span pages, redesign so the trigger and its dependents sit together.
These are the same design principles AutoSurvey's own AI follows. Hand them to your chatbot (the prompt already includes them) or use them to sanity-check whatever it returns.
No double-barreled questions. “Was the service fast and friendly?” hides two questions — split them so each answer is unambiguous.
Avoid loaded or leading phrasing. Ask “How satisfied were you?” rather than “How great was our amazing service?”
Cut overlapping questions. Every question should earn its place by collecting something you'll actually act on.
Move from general to specific. Open with easy context questions; place sensitive or open-ended ones later.
Prefer NPS, star, slider, and matrix when the question genuinely fits — they make a richer survey — but don't force them where a plain choice or scale is the honest fit.
Reserve NPS for the single true “likelihood to recommend” question. More than one dilutes the metric and the respondent's attention.
Respect respondents' time. Group related questions onto shared screens and end each screen with an optional open-text box.
Every choice or rating question needs a clear, mutually-exclusive, reasonably complete set of options. Reuse a named set when the scale repeats.
Use same-screen conditional follow-ups for genuine branching (e.g. a “what went wrong?” box after a low rating), not to pad the survey.
Every Display Type AutoSurvey understands, and every column in the Questions and Option Sets tabs — with what each one does. The three required columns are API Name, Question, and Display Type; everything else is optional.
Display Type values| Display Type | What the respondent sees | Option Set? | Use it for |
|---|---|---|---|
NPS | A 0–10 “recommend” scale | — | The single likelihood-to-recommend question (max one per survey) |
Star | A row of 1–5 stars | — | Satisfaction or quality, where stars read naturally |
Slider | A 0–10 draggable slider | — | Intensity / magnitude: effort, strength, likelihood |
Matrix | A grid of items sharing one scale | Yes (shared) | Batteries — “rate each of the following.” Every row shares one Section + Option Set + Screen |
RadioHorizontal | A labeled 1–5 radio row | Yes | A single Likert item (agree/disagree, satisfaction) |
RadioVertical | A stacked list of radio buttons | Yes | Single choice — pick exactly one (≤ 10 options) |
Picklist | A dropdown menu | Yes | Single choice when there are more than 10 options |
Checkbox | A list of checkboxes | Yes | Multi-choice — “select all that apply” |
Text | A single-line input box | — | Short open text (size it with Data Type, below) |
Text Area | A multi-line input box | — | Long / paragraph open text |
DisplayText | Static text, no input field | — | Instructions, intros, or a section note |
Screen / Section | Structural row markers | — | Optional explicit page / section header rows — usually you just fill the Screen and Section columns instead |
Data Type columnFor Text and Text Area questions, the optional Data Type column sets the storage size. Leave it blank for sensible defaults.
Text — one line, up to 255 characters (the Salesforce limit).Text (120) — max 120 characters. Text (10/120) — min 10, max 120.Long Text 4 (0/2000) — a paragraph box 4 lines tall (1–15), up to 2000 characters.Rich Text 6 (0/3000) — a formatted (rich text) box, 6 lines tall.Display Properties columnAn optional per-question JSON tweak. Mostly used to retune Star and Slider; leave blank for the defaults (5 stars, a 0–10 slider).
{"maxRating":5}{"min":0,"max":10,"step":1}| Column | Req? | How to use it |
|---|---|---|
API Name | Yes | Unique field identifier — letters, numbers, underscores, starting with a letter (e.g. Recommend_Likelihood). Becomes the Salesforce field API name; must be unique (case-insensitive). |
Question | Yes | The question text the respondent reads. |
Display Type | Yes | The control to render — one of the catalog values above. |
Screen | — | The page this question belongs to. Group related questions on one screen; names ≤ 35 characters. Blank lands on a default page. |
Section | — | A labeled subgroup within a screen. For a Matrix, every row shares one Section (the grid title). |
Option Set | For choice / rating / matrix | Name of the answer set defined in the Option Sets tab. Required for RadioVertical, RadioHorizontal, Picklist, Checkbox, and Matrix. |
Display Properties | — | Per-question JSON tweak (Star {"maxRating":5}, Slider {"min":0,"max":10,"step":1}). Leave blank for defaults. |
Data Type | — | Storage size for open text, e.g. Text (10/120) or Long Text 4 (0/2000). See the sizing card above. |
Required | — | TRUE forces an answer before continuing. Defaults to not required. |
Show If / Visibility | — | A same-screen condition, e.g. Satisfaction = 'Dissatisfied' (use != for “is not”). The controller must be a single-choice question on the same screen, and the value must be one of its options. |
Allow Other | — | TRUE adds an “Other (please specify)” choice to a single- or multi-choice question. |
Other Label | — | Custom label for that Other option (≤ 40 characters). |
Active | — | FALSE excludes the row from the generated survey. Defaults to TRUE. |
Order | — | A number controlling position within its screen / section (low to high). |
Help Text | — | A short hint shown beneath the question. |
Validation Regex | — | A regular expression an open-text answer must match (e.g. an email pattern). |
Dependent On | advanced | Declares that this question relates to another. For conditional show / hide, use Show If instead. |
Default Value · Error Message · Lock API Name | reserved | Present in the sheet template for forward compatibility and the AI field-naming workflow. Leave blank unless the in-app importer asks for them. |
| Column | Req? | How to use it |
|---|---|---|
Option Set | Yes | The set's name. Repeat it on every row that belongs to the set; questions reference this name in their Option Set column. |
Label | Yes | The option text the respondent sees. |
Value | — | The value stored for the answer. Defaults to the Label if blank. |
Key | — | An alternative to Value for the stored key. (The reserved word __OTHER__ isn't allowed.) |
Order | — | A number controlling the option's position in the list. |
Score | — | An optional numeric score for analytics — e.g. 5, 4, 3, 2, 1 down a 5-point scale. |
Is Default | — | TRUE pre-selects this option. |
The in-app importer is the source of truth. AutoSurvey's import screen shows the live column contract and validates your data before anything is created — if a value or column is off, it tells you exactly what to fix. Column headers are matched flexibly (case- and spacing-insensitive, with aliases like Show If = Visibility). When in doubt, start an import in AutoSurvey and follow its template. If the structured import feels like a lot, just use Path A — paste the numbered list into the in-app AI step on Standard.
Copy the prompt, let your chatbot do the creative work, and ship a polished Salesforce survey in minutes.