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 as long as the controlling question is on the SAME screen or an EARLIER screen - any question type can control visibility (not just single choice), and the trigger is one of the controller's known values (operator "is" or "is not"). Forward references are NOT supported - a rule can't react to an answer on a LATER screen the respondent hasn't reached yet, so keep the controlling question ahead of (or alongside) the question it controls. 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 condition as: ControllerApiName = 'OptionValue'  (use != for "is not"). The controller may be any earlier question, of any display type, on the same screen or an earlier one - only a controller on a LATER screen is invalid.
- 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 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. Choose the “Paste your questions” card (not Freeform Prompt or Guided).
  4. Paste the list, generate, then review, refine, and deploy.
“Paste your questions” reads what you've already written and structures it into the survey, preserving your wording, rather than inventing new questions.
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.

Ranking

Ranking

Drag-to-order — respondents rank a list of items from most to least (e.g. “rank these features by priority”).

Signature

Signature

A draw-to-sign pad — for consent forms, approvals, or anywhere you need a captured signature.

FileUpload

File upload

Lets a respondent attach a file — a photo, document, or receipt — as part of their answer.

Consent

Consent

A required acknowledgment checkbox — e.g. agreeing to terms or a privacy notice before continuing.

How surveys are structured

Screens, option sets & conditional logic

Three structural ideas shape every AutoSurvey — and one rule of thumb is worth memorizing for the third.

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
  • No system check or warning past that — it's a design choice, not a limit

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 — or an entire later screen — only when an earlier answer warrants it — e.g. ask “why?” only when satisfaction is “Dissatisfied.”

  • Controller can be any question type, not just single choice
  • Can reference the same screen or an earlier one
  • An entire screen can be shown/hidden by its own rule too

The one real limit: no forward references

A question — or an entire screen — can be shown or hidden based on any earlier answer, from any question type, on the same screen or an earlier one. The one constraint is ordinary branching logic: a rule can't react to an answer the respondent hasn't given yet, so it can't point at a later screen than the question or screen it controls.

What this means for you: if you want answer X to reveal follow-up Y (even a whole later screen), just make sure X comes before Y in the survey. You don't need to keep them on the same screen.

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 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
RankingA drag-to-order listYesRank a list of items from most to least (e.g. priority order)
SignatureA draw-to-sign padCapturing a signature — consent or approval forms
FileUploadA file attach controlLetting a respondent attach a photo, document, or receipt
ConsentA required checkboxAn acknowledgment the respondent must check before continuing
NumberA numeric input boxA plain number (quantity, age, count)
YesNoA yes/no toggleA simple binary question
Date / DateTime / TimeA date, date+time, or time pickerScheduling or timestamp questions
Email / Phone / URLA validated text inputContact details or a web link, with built-in format validation
PercentA 0–100 numeric inputA percentage value
CurrencyA currency-formatted inputA dollar (or other currency) amount
Text Area (Rich)A formatted (rich text) boxLong open text where basic formatting matters
Text (Encrypted)A single-line input boxMasked entry; stored as text with permission-gated reveal — not encrypted at rest
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. A dedicated Screen-type row can carry its own Show If value too, to conditionally show or hide that entire screen.
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 condition, e.g. Satisfaction = 'Dissatisfied' (use != for “is not”). May reference any earlier-answered question (any Display Type), on the same screen or an earlier one — only forward references (to a screen not yet reached) are blocked.
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's “Paste your questions” card.

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 “Paste your questions” for the in-app AI step?
“Paste your questions” 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, this path keeps that intact and just builds it — unlike Freeform Prompt or Guided, which design new questions from a brief.
Why can't a rule reference a screen the respondent hasn't reached yet?
That's just ordinary branching logic, not a technical restriction: a rule pointing at a later screen would be reacting to an answer the respondent hasn't given yet, so it could never fire. Conditional logic itself isn't limited to the same screen — a follow-up question (or an entire later screen) can reference any earlier-answered question, of any type, from the same screen or an earlier one. Just make sure the controlling question always comes first.
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 heat-map or ranked-pairs question AutoSurvey doesn't model), 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. (Ranking, Signature, File Upload, and Consent are supported Display Types — they're just outside this prompt's safe subset for AI generation. Add them afterward with the in-app question editor or the full import format; see the import reference.)

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.