> For the complete documentation index, see [llms.txt](https://boundaryai.gitbook.io/boundaryai-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://boundaryai.gitbook.io/boundaryai-docs/bringing-in-your-feedback/surveys/editor.md).

# Creating a Survey

BAI surveys are built directly inside a Feedback Group. Every survey starts as a draft you can iterate on freely, then publishes to a shareable link the moment you click **Complete**.

This page covers how to build the survey itself: the structure, question types, and advanced question behaviour. For visual styling and post-survey messages, see [Customizing a Survey](/boundaryai-docs/bringing-in-your-feedback/surveys/images-and-media.md). For organising surveys within [Feedback Groups](/boundaryai-docs/feedback-groups/feedback-groups.md) and switching between Pending / Published / Closed states, see [Managing Surveys](/boundaryai-docs/bringing-in-your-feedback/surveys/managing-surveys.md).

***

### How to create a survey

{% stepper %}
{% step %}

### Open a feedback group

Open **Feedback Groups** in the BAI Analytics dashboard and select the feedback group you want to add the survey to.
{% endstep %}

{% step %}

### Start a new survey

Click **New Survey**, then enter a **Title** and **Description** to give respondents context.
{% endstep %}

{% step %}

### Add your questions

Add questions by choosing from the available question types. For each one, set any advanced behaviour you need: conditional logic, an "Other" option, or Custom Monitoring.
{% endstep %}

{% step %}

### Arrange and finish

Drag and drop to reorder your questions, and fill in any required fields.
{% endstep %}

{% step %}

### Publish

Click **Complete** to publish. BAI Analytics generates a shareable link and an embed snippet for you.
{% endstep %}
{% endstepper %}

If you would rather not start from a blank canvas, jump to AI-assisted generation below.

***

### Question types

| Type                         | Use it for                                                                                                             |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Single Choice**            | Pick exactly one option from a list.                                                                                   |
| **Multiple Choice**          | Pick any number of options from a list.                                                                                |
| **Short Answer**             | Brief free-text responses (names, one-line comments).                                                                  |
| **Long Answer**              | Detailed open-ended feedback; analysed by AI for themes and sentiment.                                                 |
| **Linear Scale**             | Ratings on a custom range with custom anchor labels.                                                                   |
| **Net Promoter Score (NPS)** | Likelihood-to-recommend on a fixed 0–10 scale.                                                                         |
| **Information block**        | A markdown-formatted block (headings, links, lists) used to introduce a section or share context. No answer collected. |
|                              |                                                                                                                        |
| **Acknowledgment block**     | A single mandatory checkbox for consent statements, privacy notices, or "I have read…" gates.                          |

***

### Advanced question features

Each question supports a set of advanced controls that let you tailor the respondent experience and the data you collect.

#### Conditional questions (skip logic)

Conditional logic lets you show or hide a question based on what the respondent answered earlier, or based on metadata you already hold about them. Hidden questions are silently skipped on submit, so respondents only see questions that are actually relevant to them.

Open **Show this question only if…** on any question to set a condition. If the survey has an uploaded respondent-metadata list (see [Identified respondent lists](/boundaryai-docs/bringing-in-your-feedback/surveys/managing-surveys.md#identified-respondent-lists)), you're first asked to **base the condition on** either a previous answer or uploaded metadata; otherwise it's always answer-based.

**Branching on a previous answer**

You can branch off of a **Single Choice**, **Acknowledgment**, **Scale**, or **NPS** question — the parent question must come earlier in the survey.

* For **Single Choice** and **Acknowledgment** parents, pick one or more answers that should reveal the dependent question. If you pick more than one, the dependent question shows when *any* of them is selected.
* For **Scale** and **NPS** parents, pick a comparison instead: is at least, is at most, is greater than, is less than, is exactly, or is between. A live preview spells out the rule in plain language, for example *"Shown when the rating is 7 or higher."* A respondent who leaves the parent question as N/A never sees the dependent question.

**Branching on respondent metadata**

If you've uploaded a respondent list with metadata (country, plan tier, a custom field, anything in the list), you can gate a question on it directly instead of routing through an on-survey answer:

1. Pick the **metadata field** to check.
2. Choose how to match it: as **text** (exact match against one or more values) or as a **number** (the same comparison operators as Scale/NPS above).
3. Decide what happens **if the respondent has no value for that field**: ask them anyway, show the question by default, or hide it by default. You can optionally point this fallback at another question that collects the missing value on the spot.

**How to set it up (answer-based)**

1. Add the **parent question** first (the one whose answer drives the branching).
2. Add the **dependent question** after it in the survey order.
3. In the dependent question's settings, toggle **Show only if…**
4. Pick the parent question from the dropdown.
5. Pick one or more answers that should reveal the dependent question.

If you pick more than one answer, the dependent question is shown when *any* of them is selected.

**Example: a post-support feedback survey**

Suppose you want to learn about support quality, but you only want to ask follow-up questions to people who actually contacted support, and you only want to ask "what could we do better?" to those who were dissatisfied. With conditional logic, the same survey works for everyone without dragging unhappy customers through irrelevant questions.

| # | Question                                          | Type                      | Shown when   |
| - | ------------------------------------------------- | ------------------------- | ------------ |
| 1 | Did you contact our support team this month?      | Single Choice: *Yes / No* | Always       |
| 2 | Were you satisfied with the support you received? | Single Choice: *Yes / No* | Q1 = **Yes** |
| 3 | What could we have done better?                   | Long Answer               | Q2 = **No**  |
| 4 | Were you aware support was available?             | Single Choice: *Yes / No* | Q1 = **No**  |

What different respondents actually see:

* **A happy supported customer** (*Yes* to Q1, *Yes* to Q2) sees only Q1 and Q2, then submits.
* **A frustrated supported customer** (*Yes* to Q1, *No* to Q2) sees Q1, Q2, and Q3. They get to vent in the open-ended question.
* **A customer who never contacted support** (*No* on Q1) skips Q2 and Q3 entirely and lands on Q4 instead, so you learn whether the issue was awareness.

The same response rate, three different respondent journeys, and clean separated data in the analysis layer.

**Tips**

* You can chain conditions across multiple levels: Q3 depends on Q2 which depends on Q1, as in the example.
* If a parent question is itself conditional and ends up hidden, all of its dependents are hidden too. You do not need to repeat the rule downstream.
* Conditional rules are evaluated live as the respondent answers, so changing an earlier answer also re-evaluates which later questions appear.

#### Required vs optional

Every question can be flipped between **mandatory** and **optional**. Mandatory questions block submission until they are answered; optional ones can be skipped. Information blocks are always optional, and Acknowledgment blocks are always mandatory by definition.

#### "Other" option with free text

Single Choice and Multiple Choice questions can include an **Other** option that lets respondents enter their own answer. The label of the "Other" row is configurable, and the free-text field is length-capped to keep analysis clean.

Use it when you cannot enumerate every reasonable answer in advance: *Why did you pick this option?*, *Which competitor?*, *What feature?*

#### Linear Scale customisation

Linear Scale supports a custom range (anywhere from -100 to +100) and custom **minimum and maximum anchor labels**, for example *"Strongly disagree" → "Strongly agree"* or *"Very poor" → "Excellent."* NPS is locked to the standard 0–10 scale but also accepts custom anchor labels.

#### Display as star rating

Linear Scale and NPS questions can be shown to respondents as tappable stars instead of a slider. Turn on **Display as star rating** in the question editor. The toggle is only available for scales that fit a star layout (0 or higher, at most 11 steps, for example 0–10 or 1–5); if your range doesn't qualify, the toggle is disabled with a note on what to change. Star ratings still record the same underlying number, so conditional logic, segmentation, and exports work exactly the same either way.

#### Custom Monitoring

For Short Answer and Long Answer questions, you can attach **monitors**, AI-driven detection rules that tag, sentiment-score, and route open-ended responses during analysis. Monitors are scoped per question, so the same survey can run different detection rules on different questions (e.g. *complaint*, *feature request*, *competitor mention*). See [Custom Monitoring](/boundaryai-docs/analysing-your-feedback/custom-monitoring.md).

#### Question duplication

Any question can be duplicated in place from the question menu. The copy preserves every setting (wording, options, conditional rules, required/optional setting, monitors) and is appended to the survey for further editing. Useful when you need several similar rating questions or want to experiment with a variant of a question without losing the original.

***

### Response metadata

Each survey can automatically capture per-response context without adding a single visible question. From **Survey Settings → Response** **metadata**, enable any combination of:

* IP-based country and region
* Device type, browser, operating system
* Referrer URL
* UTM parameters (source, medium, campaign)

These fields are stored as hidden system fields and become available as segmentation dimensions in the analysis view, letting you slice insights by channel, device, or geography without ever having asked the respondent.

***

### AI-assisted survey generation

If you do not want to start from a blank canvas, click **Generate with AI** on the new-survey screen and provide a 10–2000-character description of what you want to learn: for example, *"Post-event feedback for a two-day partner conference, focused on session quality and networking."*

BAI Analytics returns a complete survey draft (title plus questions) in one of four lengths:

* **Auto**: let the AI choose based on the topic.
* **Short**: 3–5 questions for quick pulses.
* **Medium**: 6–10 questions for standard programmes.
* **Long**: 10+ questions for in-depth evaluations.

The generated survey lands in the editor exactly as if you had built it manually, so you can rearrange, edit, or delete any question, layer on conditional logic, and apply your branding before publishing.

***

### Publishing

Clicking **Complete** moves the survey from **Pending** (draft) to **Published** (live) and produces:

* A **full survey link** for direct distribution.
* A **short share link** suited for QR codes or print materials.
* An **embed snippet** for inline placement on a host page.

You can return to the survey at any time to edit copy, add or remove questions, or close the survey to new responses. For visual styling and post-survey messages, continue with [Customizing a Survey](/boundaryai-docs/bringing-in-your-feedback/surveys/images-and-media.md). For switching states and navigating between surveys later, see [Managing Surveys](/boundaryai-docs/bringing-in-your-feedback/surveys/managing-surveys.md).
