Building a form | Doghouse SaaS Knowledge Base     [Skip to content](#main)  [ ![Doghouse SaaS Knowledge Base](/storage/branding/01M3N8PQ7PSDNQBBKKJM6XGW03.svg) ](https://nginx.deploy-lagoon-production.districtcms-docs.dh1.amazee.io)  [Product documentation](/articles) [Roadmap](/roadmap)   Toggle navigation      

  [Product documentation](/articles) [Roadmap](/roadmap)  

  1. [Home](/) ›
2. [Product documentation](/articles) ›
3. [Forms](/articles?category=8) ›
4. Building a form

 Building a form
===============

Updated 5 days ago · 5 min read

 Search     Search  

Overview
--------

A form is how the site collects something from a visitor without it turning into an email thread: a report of a broken streetlight, a booking request, a question for a department.

The answers land in the site itself, where they can be read and exported, rather than in somebody's inbox.

The **Build** tab is where you decide what the form asks, and it is the subject of this article. It is one of six tabs on every form, and three of them divide the job cleanly.

- **Build** sets the questions.
- **Settings** covers what happens when someone presses submit, including the confirmation they see and who gets emailed.
- **Results** holds the answers as they come in.

One thing worth knowing before you start: questions and answers are tied together. Deleting a question later removes every answer already given to it, so the wording is worth getting right before a form goes live rather than after.

> **⚠️ Important:** Building a form is an administrator's job. Content editors have no form permissions, so they cannot reach these screens.

---

Adding a question
-----------------

1. Go to **Structure**, then **Webforms**, then **Forms**, and press **Build** on the form you want.
2. Press **Add element**. A window called **Select an element** opens, with the kinds of question grouped into sections. There are a lot, so use **Filter by element name** if you already know what you are after.
3. Press **Add element** on the row for the kind you want. A second panel opens for that question, headed with the kind you picked, such as Add Text field element.
4. Fill in the **Title**, which is the label the visitor reads.
5. The panel opens on the right with **Title** at the top. Most other settings sit in closed sections underneath, which is easy to miss. Open **Form validation** to tick **Required**, **Element description/help/more** to add help text under the question, or **Default value** to prefill an answer.
6. Press **Save**. The question is added to the form straight away.

![Animation: pressing Add element on the Build tab, finding Text field in the Select an element window, and the Add Text field element panel opening on the right, before anything is saved.](/storage/u37yW3aRmbohHrigoKyZGD1bimhtArqmwDmmP8gK.gif)

> **💡 Note:** Two different saves sit on this screen. **Save** inside a question's dialog stores that question immediately. **Save elements**, under the table, is for changes you make in the table itself, such as dragging a row to reorder it or ticking **Required**. Those stay unsaved until you press it.

---

What you can ask for
--------------------

The Select an element window groups about seventy kinds of question into ten sections. You will use a handful.

![The Select an element window outlined in red, with the filter box at the top and the Basic elements section open.](/storage/EQ8xbOSfyeNdu6DVtqfax4NaCiahQBhO1nRrFqGp.png)

Section

Use it for

Basic elements

A single line of text, a longer message, or a tick box.

Advanced elements

The largest section. An email address, a phone number, a number, a web address, a signature, a rating, a terms of service tick.

Composite elements

Several fields that belong together as one question, such as an address or a person's name.

Markup elements

Text that explains rather than asks, such as an introduction or a message between sections.

Options elements

A choice: a dropdown, radio buttons, tick boxes, or a Likert scale.

Computed Elements

A value the form works out for itself from other answers, rather than asking for it.

Containers

Grouping several questions under one heading, or laying them out side by side.

Date/time elements

A date, a time, or the two together.

Entity reference elements

A choice taken from content already on the site, such as a page or a taxonomy term.

Buttons

The form's submit button, when you want to change its label.

Pages are not in this list. You add those with **Add page**, which [**Splitting a form across pages**](/articles/splitting-a-form-across-pages) covers.

> **⚠️ Important:** There is no group for file uploads. Asking people to attach a document or a photograph is something Doghouse SaaS can do, but it stays switched off until a private files directory is set up, which is a change to the server rather than a setting you can reach. Ask whoever hosts your site if you need it.

---

Changing or removing a question
-------------------------------

Every row carries an **Operations** button on the right, with three choices behind it.

Choice

What it does

Edit

Reopens the same panel you filled in when you added the question, so you can change the wording or any of its settings.

Duplicate

Makes a copy of the question, which is quicker than building a similar one from scratch.

Delete

Removes the question from the form.

> **⚠️ Important:** Deleting a question also deletes every answer already given to it. The confirmation screen says so, and it cannot be undone. If a form has been live, export the results before you delete anything. If the question has other questions nested inside it, those go too.

---

Reading the Build tab
---------------------

Each row is one element, and the columns tell you what it is.

Column

What it shows

Title

The label the visitor reads.

Key

The internal name. You need it when setting up conditions and emails.

Type

The kind of element.

Required

Whether the form will submit without it.

Operations

Edit, duplicate or delete that question.

Two more columns come and go. **Conditional** appears once any question on the form has a rule on it, and **Flex** appears once the form uses a layout. Press **Show row weights** above the table to reveal **Weight** and **Parent** as well.

![The Build tab of a form, outlined in red, showing its elements in rows with the Title, Key, Type, Conditional and Required columns and the Show row weights link.](/storage/YrJorwqQhQYIe8zsVoeepOu1J3QjTYOhiWw2hB8A.png)

---

Changing the order
------------------

Drag an element by its handle to move it up or down. The order on this screen is the order a visitor answers in. If dragging is awkward, press **Show row weights** and set the order as numbers instead. Either way the change is not kept until you press **Save elements**.

> **💡 Tip:** Put the questions you most need answered at the top. Nothing is kept until the visitor presses submit, so anyone who gives up part way leaves you nothing at all, even on a form split into pages. Letting people save and come back is switched off as things stand. It lives under **Settings**, then **Submissions**, as **Allow your users to save and finish the webform later**.

  Related articles 
------------------

- [ Forms on your site → ](/articles/forms-on-your-site)
- [ Splitting a form across pages → ](/articles/splitting-a-form-across-pages)
- [ Showing and hiding form fields → ](/articles/showing-and-hiding-form-fields)

 Was this article helpful?
-------------------------

Your feedback helps us prioritise what to rewrite.

      Yes     No  

 [    Back to Forms ](/articles?category=8) 

 On this page 

**Need additional help?** 
Submit a support request through the [**support portal** ](https://doghouse.atlassian.net/servicedesk/customer/portals)or email 

 © 2026 [Doghouse SaaS](https://doghouse.agency) [Glossary](/articles/glossary)
