> 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 Analytics surveys are built inside a Feedback Group. Every survey starts as a draft you can iterate on freely, then goes live the moment you click **Publish Survey**.

This page covers how to build the survey itself: the structure, question types, and advanced question behaviour. For visual styling, language, and the post-survey experience, 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), closing and reopening them, and sending invitations, see [Managing Surveys](/boundaryai-docs/bringing-in-your-feedback/surveys/managing-surveys.md).

***

### How to create a survey

{% stepper %}
{% step %}

### Choose where the survey lives

From the dashboard, click **Create new individual survey** and choose a destination: an **Individual Survey** (a quick, one-time collection that lands in the default *Individual Surveys* group) or one of your existing Feedback Groups. You can also start from inside a group: open it, click **Manage sources**, then **Create survey**.
{% endstep %}

{% step %}

### Pick a starting point

Choose **Create Manually** to build the survey question by question, or **Generate with AI** to describe what you want to learn and get a complete draft (see [AI-assisted survey generation](#ai-assisted-survey-generation) below).
{% endstep %}

{% step %}

### Add a title, description, and questions

Give the survey a **Title** (up to 60 characters) and a **Description** (up to 500 characters) so respondents have context. Then hover between elements and click the **+** button to **Add element**: pick a question type from the palette, or add a **Section** to start a new page.
{% endstep %}

{% step %}

### Configure each question

For each question, write the question text (up to 125 characters), add options where relevant, and set any advanced behaviour you need: mandatory or optional, an "Other" option, conditional display, an answer format, or Custom Monitoring.
{% endstep %}

{% step %}

### Arrange, review, and save

Drag and drop to reorder questions. The top bar shows whether you have unsaved changes and any validation issues to fix. Use **Preview** to try the survey as a respondent (nothing is saved in preview), and **Save as Draft** to keep working later.
{% endstep %}

{% step %}

### Publish

Open **Settings** to set the language, passcode, closing rule, and branding, then click **Publish Survey** and confirm. BAI Analytics confirms the survey is live and takes you back to the Feedback Group's source list, where the **Share** button gives you the link, a QR code, and the Share & Send tools.
{% endstep %}
{% endstepper %}

***

### Question types

The **Add element** palette offers the following types. The names below are the ones you see in the builder.

| Type              | Use it for                                                                                                                                                |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Single choice** | Pick exactly one option from a list.                                                                                                                      |
| **Checkboxes**    | Pick any number of options from a list.                                                                                                                   |
| **Dropdown**      | Pick one option from a dropdown list. Same answer as Single choice, better for long option lists.                                                         |
| **Ranking**       | Drag every option into order of preference. Results show the share of respondents who ranked each option first.                                           |
| **Rating scale**  | A numeric scale with labelled ends, for example 1 to 5.                                                                                                   |
| **NPS (0–10)**    | The standard "how likely are you to recommend" score on a fixed 0 to 10 scale.                                                                            |
| **Short answer**  | A few words or a sentence (names, one-line comments), optionally restricted to an email, phone number, or date.                                           |
| **Paragraph**     | A long written answer. Analysed by AI for themes and sentiment.                                                                                           |
| **Agreement**     | A single checkbox respondents must tick to continue (consent, terms, NDA acceptance). Mandatory by design.                                                |
| **Context field** | Team, location, or similar context used to filter results. Not analysed for themes.                                                                       |
| **Section**       | A title plus description shown to respondents. Starts a new page, so use it to introduce a block of questions or share instructions. No answer collected. |

***

### Advanced question features

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

#### Conditional questions (skip logic)

Conditional logic lets you show a question only when a respondent answered an earlier question a certain way, or based on metadata you already hold about them. Hidden questions are skipped on submit, so respondents only see questions that are relevant to them.

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

**Branching on a previous answer**

The trigger question must come earlier in the survey and be one of **Single choice**, **Dropdown**, **Agreement**, **Rating scale**, or **NPS**. Ranking questions cannot act as triggers.

* For **Single choice**, **Dropdown**, and **Agreement** triggers, 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 **Rating scale** and **NPS** triggers, 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."*

**Branching on respondent metadata**

If you have uploaded a respondent list with metadata (country, customer 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 **Respondent metadata field** to check.
2. Choose how to match it: as **Text (exact match)** against one or more comma-separated values, or as a **Number (comparison)** using the same operators as Rating scale and NPS above.
3. Decide what happens **if this respondent has no value for that field**: ask the respondent, show the question, or hide the question. If you choose to ask, you can point the rule at another question that collects the missing value on the spot.

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

1. Add the **trigger 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, open **Show this question only if…**
4. Pick the trigger question under **This question depends on**.
5. Pick the answers (or the rating rule) that should reveal the dependent question.

**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?                   | Paragraph                 | 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 trigger 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.
* If you later delete or reorder a trigger question, the builder highlights the broken rule as an issue to fix before you can save.

#### 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. Sections never collect an answer, and Agreement questions are always mandatory by design.

#### "Other" option with free text

Single choice, Checkboxes, and Dropdown questions can include an **"Other" option** that lets respondents type their own answer. The label of the "Other" row is configurable, and the free-text field is capped at 250 characters to keep analysis clean. Ranking questions do not offer an "Other" option, since every option has to be ranked.

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

#### Answer format for Short answer questions

A Short answer question can enforce an **Answer format**: **Free text** (the default), **Email**, **Phone number**, or **Date**. Respondents see the matching input (an email field, a phone field, a date picker), and an answer that does not fit the format is rejected before the survey can be submitted. Use it when you need clean, machine-readable values such as a contact email or an appointment date.

Short answer questions with an Email, Phone number, or Date format are treated as data fields rather than free text, so monitors are not attached to them.

#### Rating scale customisation

Rating scale supports a custom range (anywhere from -100 to +100, with the minimum strictly below the maximum) and custom **Minimum Label** and **Maximum Label** anchors, for example *"Strongly disagree" → "Strongly agree"* or *"Very poor" → "Excellent."* NPS is locked to the standard 0 to 10 scale but also accepts custom anchor labels.

#### Display as star rating

Rating 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 to 10 or 1 to 5); if your range does not 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 Paragraph questions, you can **Add 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 (for example *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 its card menu. The copy preserves every setting (wording, options, conditional rules, mandatory setting, monitors) and is inserted right after the original 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.

***

### Survey settings

The **Settings** panel in the builder holds everything that is not a question:

* **Passcode to answer survey**: require a passcode before respondents see any questions.
* **Closing Options**: choose **Do not close survey**, **Close survey on** a date, or **Automatically close survey after response count reaches** a number you set (1 or more). With the response-count option, the survey accepts the final response that reaches the target and then closes itself; anyone opening the link afterwards sees that the survey is closed.
* **Survey Language**: the language of your survey content and of the built-in respondent-facing text.
* **Survey Customization**: logo, brand colour, font, end message, and redirect after completion.
* **Respondent list**: upload a list of identified respondents while you build, so you can use their metadata in conditional rules.

All of these are described in detail in [Customizing a Survey](/boundaryai-docs/bringing-in-your-feedback/surveys/images-and-media.md) and [Managing Surveys](/boundaryai-docs/bringing-in-your-feedback/surveys/managing-surveys.md). Whatever you choose, you can still close or reopen a survey by hand at any time from its Feedback Group.

***

### Response metadata

Each survey can automatically capture per-response context without adding a single visible question. Open the survey's **Share** button, then **Open Share & Send**, and under **Data collection** open **Auto-captured details**. Turn on **Collect Response Metadata** and pick any combination of:

* **Location**: country and region, derived from the connection.
* **Device & Browser**: device type, browser, operating system.
* **Marketing & Attribution**: referrer, UTM source, UTM medium, UTM campaign.
* **Submission**: the submission time, at a precision you choose (date, hour, minute, or second).

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, geography, or time without ever having asked the respondent. Exact-second precision may make individual respondents identifiable in small surveys, so prefer a coarser precision unless you need it.

***

### AI-assisted survey generation

If you do not want to start from a blank canvas, choose **Generate with AI** when creating the survey and describe what you want to learn in 10 to 2,000 characters: for example, *"Post-event feedback for a two-day partner conference, focused on session quality and networking."*

Pick a **Survey Length**, and BAI Analytics returns a complete survey draft (title plus questions):

* **Auto**: let the AI choose based on the topic.
* **Short**: 3 to 5 questions for quick pulses.
* **Medium**: 6 to 10 questions for standard programmes.
* **Long**: 11 to 16 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 **Publish Survey** and confirming moves the survey from **Draft** to **Live**. From the survey's **Share** button you then get:

* The **survey link** for direct distribution, with a **QR code** you can download.
* **Open Share & Send** for invitations by email or SMS, tracked QR codes per location, and the response metadata options. See [Sending invites](/boundaryai-docs/bringing-in-your-feedback/surveys/managing-surveys.md#sending-invites).
* An **embed code** for placing the survey on your own website, from **Settings → Embed** (see [Embedding a survey](/boundaryai-docs/bringing-in-your-feedback/surveys/images-and-media.md#embedding-a-survey-on-your-website)).

You can return to the survey at any time to edit copy or add questions. Editing a live survey keeps existing responses and analysis, but deleting a question permanently removes its responses, so treat structural changes with care. For visual styling and the post-survey experience, continue with [Customizing a Survey](/boundaryai-docs/bringing-in-your-feedback/surveys/images-and-media.md). For closing, reopening, and navigating between surveys later, see [Managing Surveys](/boundaryai-docs/bringing-in-your-feedback/surveys/managing-surveys.md).
