> For the complete documentation index, see [llms.txt](https://docs.dapta.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dapta.ai/dforms/builder/question-settings.md).

# Question settings

A tour of the Question settings pane in the dForms editor: Question type, Required, Placeholder, Default answer, Field key (and what renaming it changes), Hidden question, Ends the form, Show reveal s

Every question you select in the editor gets its own **Question settings** pane on the right. The top of the pane changes with the question type; the bottom half (**Logic**, the screen switch, **Advanced settings**, **HubSpot**) is the same for almost every question. This page explains the shared settings one by one, so you know what each switch does before you flip it.

Type-specific sections (options for choice questions, **Min**/**Max** for sliders, **Answer length** for long text, **Event type** for a scheduler, and so on) are covered in the [Question types](/dforms/builder/question-types.md) pages.

***

**Step 1:** Click a question in the **Questions** list (or on the canvas). The **Question settings** pane opens with the basics at the top:

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-2360318e2da1509cd31dad58258dc674e5e94f18%2Fforms-question-settings-01-basics.png?alt=media" alt="The Question settings pane showing Question type, Required and the type specific settings"><figcaption><p>The top of the pane: the question type, whether it is required, and the settings for that type.</p></figcaption></figure>

| Setting             | Available on                                                          | What it does                                                                                                                                                                                                                                                                                                                                                                              |
| ------------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Question type**   | Every step                                                            | Swaps the question to another type without losing its place. The title and description stay; type-specific settings reset to the defaults of the new type. On a question that shares a screen, a note under the select reads **Schedulers, reveal screens and file uploads always get a screen of their own.** Switching to one of those types moves the question to a screen of its own. |
| **Required**        | Every question that collects an answer (not Message or Reveal screen) | On by default. Respondents cannot continue until they answer. On a Scheduler, turning it off adds a **Skip for now** link.                                                                                                                                                                                                                                                                |
| **Placeholder**     | Short text, Long text, Website, Email, Dropdown                       | Ghost text shown inside the input while it is empty. Leave empty for none.                                                                                                                                                                                                                                                                                                                |
| **Delete question** | Every step                                                            | The trash icon in the pane header removes the step.                                                                                                                                                                                                                                                                                                                                       |

> **💡 Tip:** The question title, the description and, for choice questions, the option labels are edited directly on the canvas, not in the pane. The pane is for behaviour; the canvas is for words.

***

**Step 2:** Scroll down and click **Advanced settings** to expand it. The header shows small badges summarising what is set on this question (**Dynamic**, **Ends form**, **Hidden**, **Default set**, and **Scored** on a slider that awards points by range), so you can spot a configured question at a glance even when the section is collapsed.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-a417360f2f004b18f028f212154a8b56b09e4ac9%2Fforms-question-settings-02-advanced.png?alt=media" alt="The Question settings pane with the Logic card, the Show on the same screen as the question above switch and the Advanced settings section expanded below them"><figcaption><p><strong>Advanced settings</strong> holds prefill, dynamic questions and the behavior switches.</p></figcaption></figure>

| Setting              | What it does                                                                                                                                                                                                                                                               |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Prefill from URL** | Read only. Shows your form's public path with a ready-made example parameter for this question, for instance `/acme/f/my-form?company=value`. Click **Copy** and append it to your link; the answer arrives filled in. Works for visible questions as well as hidden ones. |
| **Default answer**   | Used when the link carries no value. Anything in the URL wins over this. Up to 512 characters. Not offered on Name, Scheduler or steps without an input.                                                                                                                   |

> **⚠️ Note:** Precedence is always the same: what the respondent types beats the URL, and the URL beats **Default answer**. Keys starting with `utm_` are never read from the URL (they are captured separately as campaign data), so do not use them as field keys.

***

**Step 3:** Further down, **Behavior** holds the switches that change how the step acts in the flow:

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-47169b9f16d503087add59b9a0099677bf39ec95%2Fforms-question-settings-03-behavior.png?alt=media" alt="The Behavior switches: Ends the form, Hidden question and Show reveal screen after"><figcaption><p>The <strong>Behavior</strong> switches change how the step acts in the flow.</p></figcaption></figure>

| Setting                      | Available on                                                      | What it does                                                                                                                                                                                                                                                                       |
| ---------------------------- | ----------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Ends the form**            | Questions and Messages (not Scheduler or Reveal screen)           | "Completing this question ends the form immediately (disqualification)." As soon as the respondent answers this step, the form jumps to the ending. On a screen of several questions, the form ends when the respondent submits that screen. The step gets an **Ends form** badge. |
| **Hidden question**          | Questions with an input (not Message, Reveal screen or Scheduler) | "Not shown to respondents. Its answer is filled from a matching URL parameter (?key=value)." The step shows a **Hidden** badge in the list and is skipped in the live form. On a question that shares a screen, the hint adds **Hiding it also takes it off its screen.**          |
| **Field key**                | Every question that stores an answer                              | The name this answer is stored under, the URL parameter that prefills it, and what you type between brackets to recall it in a later question (`[key]`). Letters, numbers and underscores, up to 64 characters.                                                                    |
| **Show reveal screen after** | Visible questions on a Slides form                                | Adds a reveal card right after this question. Turning it off removes that card. Edit its copy by selecting the card. On a question that shares a screen, the switch reads **Show a reveal screen after this screen** and adds the card after the last question of the screen.      |

### Field key: what happens when you rename it

Field keys are generated automatically (`text_2`, `slider_4`, `multiple_choice_1`…). Renaming them to something readable (`company`, `leads`, `role`) makes prefill links, recall tokens and integrations much easier to work with.

* Type the new key and press **Enter** or click away. Anything that is not a letter, number or underscore is cleaned up; **Escape** cancels.
* A key that another question already uses is refused: **Another question already uses that key.** A key with no letters or numbers is refused: **A key needs at least one letter or number.**
* Renaming cascades. Show/hide conditions, branching rules, dynamic-question variants, outcome overrides, `[key]` recall tokens and the HubSpot property mapping that pointed at the old key are updated to the new one. If the HubSpot mapping cannot be moved, the editor tells you: **The field key was renamed, but its HubSpot mapping could not be moved. Re-pick the property in Connect.**
* Past submissions keep the old key. Rename early, before the form collects real data.
* The **Name** question has two keys (one per field, `firstname` and `lastname` by default) edited in its **Name fields** section.

### Ends the form (disqualification)

Use **Ends the form** on the step that closes the conversation for people who do not qualify: typically a **Message** that says "Thanks, this is not a fit right now", reached through a branching rule from a qualifying question. The respondent sees the ending screen immediately after that step; later questions are never shown. See [Branching & jumps](/dforms/logic/branching.md) and [Ending screen](/dforms/logic/ending-screen.md).

### Hidden question

A hidden question is a field that exists only to receive a value from the link, for example `?campaign=spring` or a referral code. Respondents never see it, but the value is stored with the submission, can be recalled with `[campaign]` and is sent to HubSpot and webhooks like any other answer. The full walkthrough is in [Hidden fields & URL prefill](/dforms/builder/hidden-fields-and-url-prefill.md).

***

## Show on the same screen as the question above

On a **Slides** form, a switch right after the **Logic** card puts this question on the same screen as the question above it, so respondents answer both together with one button. Turn it off to start a new screen at this question. It does the same as the chain icon between two cards in the **Questions** list, and it is the only way to group questions when the window is too narrow to show that list.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-293b43d04b8d7713acf56e1c9d20dd11151ebb1e%2Fforms-screens-02-settings-switch.png?alt=media" alt="The Show on the same screen as the question above switch below the Logic card, unavailable on a Scheduler with the reason Schedulers, reveal screens and file uploads always get a screen of their own."><figcaption><p>When a question cannot join the screen above, the switch stays visible and says why.</p></figcaption></figure>

The switch is shown but cannot be turned on, with the reason under it, when the question is the first one shown in the form, is a **Scheduler**, **Reveal screen** or **File upload**, is hidden, or would join a screen that already holds 10 questions. It does not appear on a **One page** form. See [Several questions on one screen](/dforms/builder/screens.md).

***

## Button labels

The button under each step reads **Next** on a question and **Submit** on the last screen of the form. A screen with several questions has a single button. Some steps show no button at all: a **Single choice** or a **Dropdown** alone on its screen advances as soon as the respondent picks an option, and a **Scheduler** advances by itself because booking a time is the answer.

The default words follow the form's language (**Siguiente** and **Enviar** on a Spanish form). To use your own words for the whole form, fill in **Design → Button text**; see [Language & button text](/dforms/design/language-and-button-text.md). There is no per-question button text, and the button is not editable on the canvas.

A **Message** is the exception: when you add one, its button is set to **Continue**, and it keeps that word in every language and whatever you type in **Button text**.

## Other cards in the pane

* **Logic** shows the step's show/hide and branching rules in plain sentences (or **No logic yet. This question always appears and continues in order.**) with an **Edit logic** button, plus the **Personal email only** switch when the form has an email question. See [Show & hide conditions](/dforms/logic/conditions.md).
* **Show on the same screen as the question above** (Slides only) groups questions into screens. See the section above.
* **Scoring** (choice questions and sliders) decides whether the question counts toward the score. See [Scoring](/dforms/logic/scoring.md).
* **HubSpot** maps the answer to a contact property once HubSpot is enabled on the form. See [Map questions to contact properties](/dforms/connect/hubspot/map-questions.md).
* Contact questions (**Name**, **Email**, **Phone**) carry a **Contact** tag in the list. They identify the lead and never add to the score.

***

## What's next

* [Hidden fields & URL prefill](/dforms/builder/hidden-fields-and-url-prefill.md): build links that prefill answers.
* [Recall answers with @](/dforms/builder/recall-answers.md): reuse a field key inside a later question.
* [Dynamic questions (variants)](/dforms/builder/dynamic-questions.md): vary the title by an earlier answer.
* [Several questions on one screen](/dforms/builder/screens.md): group questions on one Slides screen.
* [Show & hide conditions](/dforms/logic/conditions.md) and [Branching & jumps](/dforms/logic/branching.md): the **Logic** card in depth.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.dapta.ai/dforms/builder/question-settings.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
