Bring your own AI
Works with ChatGPT, Claude & Gemini

Design your survey with any AI chatbot — then drop it into AutoSurvey.

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.

Copy the prompt
Your chatbot writes questions
Paste into AutoSurvey
Step 1 · Copy this

The copy-paste prompt

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.

Full prompt · capable models
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.

Use Full with capable models

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)

Use Lite with lighter models

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.)

Pasting this page to your AI instead of copying the prompt? Open the AI-readable version
Step 2 · Bring it into AutoSurvey

Two ways to use the output

The chatbot gives you both formats. Pick whichever path fits how you like to work.

A

Paste the list (easiest)

  1. Copy output (A) — the numbered list grouped by screen.
  2. In AutoSurvey, open the AI generation step.
  3. Set the mode to Standard.
  4. Paste the list, generate, then review, refine, and deploy.
Standard mode reads your already-designed questions and structures them into the survey — it doesn't re-invent them.
B

Import the tables (direct)

  1. Copy output (B) — the Questions and Option Sets tables.
  2. Put each table into the matching tab/CSV (Questions, Option Sets).
  3. Use AutoSurvey's import to load them in.
  4. The importer validates columns and flags anything to fix.
Best when you want precise control over API names, option scores, and ordering. See the import format reference below.
The capability surface

What AutoSurvey can build

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.

NPS

NPS

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.

Star

Star rating

A 1–5 star rating for satisfaction or quality, where stars read naturally. No options needed.

Slider

Slider scale

A 0–10 slider for intensity or magnitude — effort, likelihood, strength of feeling. No options needed.

Matrix

Matrix / grid

3+ items all rated on the same scale, shown as a grid. Every row shares one grid title, one answer scale, and one screen.

RadioHorizontal

Rating (Likert)

A labeled 1–5 scale (agree/disagree, satisfaction) for a single item. Needs a defined set of answer labels.

RadioVertical

Single choice

Pick exactly one option from a list. With more than 10 options it renders as a dropdown (Picklist).

Checkbox

Multi choice

“Select all that apply.” Respondents can pick any number of options from the list.

Text Text Area

Short / long text

Open-ended input: a single line (Text) or a paragraph (Text Area). Great for “anything else?” follow-ups.

DisplayText

Static text

Not a question — an instruction, intro, or section note shown to the respondent with no input field.

How surveys are structured

Screens, option sets & conditional logic

Three structural ideas shape every AutoSurvey — and one of them has a hard limit worth memorizing.

Screens (pages)

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.

  • Screen names: ≤ 35 characters
  • Aim for 3–5 questions per screen
  • Hard max of 7 per screen

Answer option sets

Choice, rating, and matrix questions reference a named set of answer options (e.g. Satisfaction5). One set can be reused across many questions.

  • Each option has a label
  • Optional value, order & numeric score
  • Reuse sets to keep scales consistent

Conditional visibility

Show a follow-up question only when an earlier answer warrants it — e.g. ask “why?” only when satisfaction is “Dissatisfied.”

  • Controller must be single choice
  • Trigger is one of its options
  • Operator is “is” / “is not”

The one hard limit: conditional logic is same-screen only

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.

The craft

How to write a good survey

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.

One idea per question

No double-barreled questions. “Was the service fast and friendly?” hides two questions — split them so each answer is unambiguous.

Neutral, non-leading wording

Avoid loaded or leading phrasing. Ask “How satisfied were you?” rather than “How great was our amazing service?”

No redundancy

Cut overlapping questions. Every question should earn its place by collecting something you'll actually act on.

Logical progression

Move from general to specific. Open with easy context questions; place sensitive or open-ended ones later.

Use the right control

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.

NPS at most once

Reserve NPS for the single true “likelihood to recommend” question. More than one dilutes the metric and the respondent's attention.

Keep it short, group it

Respect respondents' time. Group related questions onto shared screens and end each screen with an optional open-text box.

Sensible answer options

Every choice or rating question needs a clear, mutually-exclusive, reasonably complete set of options. Reuse a named set when the scale repeats.

Branch only when it helps

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.

For direct import (output B)

Import & sheet format reference

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 catalog — the exact Display Type values

Display Type What the respondent sees Option Set? Use it for
NPSA 0–10 “recommend” scaleThe single likelihood-to-recommend question (max one per survey)
StarA row of 1–5 starsSatisfaction or quality, where stars read naturally
SliderA 0–10 draggable sliderIntensity / magnitude: effort, strength, likelihood
MatrixA grid of items sharing one scaleYes (shared)Batteries — “rate each of the following.” Every row shares one Section + Option Set + Screen
RadioHorizontalA labeled 1–5 radio rowYesA single Likert item (agree/disagree, satisfaction)
RadioVerticalA stacked list of radio buttonsYesSingle choice — pick exactly one (≤ 10 options)
PicklistA dropdown menuYesSingle choice when there are more than 10 options
CheckboxA list of checkboxesYesMulti-choice — “select all that apply”
TextA single-line input boxShort open text (size it with Data Type, below)
Text AreaA multi-line input boxLong / paragraph open text
DisplayTextStatic text, no input fieldInstructions, intros, or a section note
Screen / SectionStructural row markersOptional explicit page / section header rows — usually you just fill the Screen and Section columns instead

Sizing open text — the Data Type column

For 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.

Fine-tuning — the Display Properties column

An optional per-question JSON tweak. Mostly used to retune Star and Slider; leave blank for the defaults (5 stars, a 0–10 slider).

  • Star — change the number of stars:
    {"maxRating":5}
  • Slider / Scale — change the range and step:
    {"min":0,"max":10,"step":1}

Questions tab — every column

Column Req? How to use it
API NameYesUnique field identifier — letters, numbers, underscores, starting with a letter (e.g. Recommend_Likelihood). Becomes the Salesforce field API name; must be unique (case-insensitive).
QuestionYesThe question text the respondent reads.
Display TypeYesThe control to render — one of the catalog values above.
ScreenThe page this question belongs to. Group related questions on one screen; names ≤ 35 characters. Blank lands on a default page.
SectionA labeled subgroup within a screen. For a Matrix, every row shares one Section (the grid title).
Option SetFor choice / rating / matrixName of the answer set defined in the Option Sets tab. Required for RadioVertical, RadioHorizontal, Picklist, Checkbox, and Matrix.
Display PropertiesPer-question JSON tweak (Star {"maxRating":5}, Slider {"min":0,"max":10,"step":1}). Leave blank for defaults.
Data TypeStorage size for open text, e.g. Text (10/120) or Long Text 4 (0/2000). See the sizing card above.
RequiredTRUE forces an answer before continuing. Defaults to not required.
Show If / VisibilityA 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 OtherTRUE adds an “Other (please specify)” choice to a single- or multi-choice question.
Other LabelCustom label for that Other option (≤ 40 characters).
ActiveFALSE excludes the row from the generated survey. Defaults to TRUE.
OrderA number controlling position within its screen / section (low to high).
Help TextA short hint shown beneath the question.
Validation RegexA regular expression an open-text answer must match (e.g. an email pattern).
Dependent OnadvancedDeclares that this question relates to another. For conditional show / hide, use Show If instead.
Default Value · Error Message · Lock API NamereservedPresent in the sheet template for forward compatibility and the AI field-naming workflow. Leave blank unless the in-app importer asks for them.

Option Sets tab — every column

Column Req? How to use it
Option SetYesThe set's name. Repeat it on every row that belongs to the set; questions reference this name in their Option Set column.
LabelYesThe option text the respondent sees.
ValueThe value stored for the answer. Defaults to the Label if blank.
KeyAn alternative to Value for the stored key. (The reserved word __OTHER__ isn't allowed.)
OrderA number controlling the option's position in the list.
ScoreAn optional numeric score for analytics — e.g. 5, 4, 3, 2, 1 down a 5-point scale.
Is DefaultTRUE 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.

Questions about this workflow

Which chatbot should I use?
Any capable general-purpose assistant works — ChatGPT, Claude, or Gemini. The prompt is self-contained, so the model just needs to follow instructions and write clean text. If one model's wording feels off, paste the same prompt into another.
Why “Standard” mode for the in-app AI step?
Standard mode takes the questions you've already designed and structures them into a survey, rather than brainstorming a survey from a short brief. Since your chatbot already did the creative “what to ask” work, Standard keeps that intact and just builds it.
Why can't conditional logic span screens?
Because the survey runs as a native Salesforce Screen Flow, and a screen can only react to answers given on that same screen — it can't read a value the respondent hasn't reached yet. So keep a controlling single-choice question and any questions it reveals on the same screen.
Do I have to write API names myself?
Only for the direct import (Path B), and the prompt asks the chatbot to propose sensible ones for you. If you take Path A and paste the numbered list into the in-app AI step, AutoSurvey handles naming — you don't need to think about API names at all.
What if the chatbot invents a question type AutoSurvey doesn't have?
The prompt explicitly limits it to the supported types and Display Type values, which prevents almost all of this. If something still slips through (say, a ranking question), map it to the closest supported control — usually single choice, multi choice, or a matrix — or ask the chatbot to redo that question within the allowed types.

Design it with AI. Build it in AutoSurvey.

Copy the prompt, let your chatbot do the creative work, and ship a polished Salesforce survey in minutes.