> For the complete documentation index, see [llms.txt](https://salsa-digital.gitbook.io/govcms-content-administration/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://salsa-digital.gitbook.io/govcms-content-administration/webforms/basic-components.md).

# Basic components

This page features a list of common webform elements with some descriptions, and below than an exhaustive list of **all the components** you can use.

### Common elements

* **Text field**: Standard single line of text, great for names.
* **Textarea**: A multi-line text field, great for descriptions. Due to security precautions you should not let anonymous public visitors use a WYSIWYG editor — it should remain a basic text field.
* **Email**: Like the Text field, but validates that the contents fits the format of an email.
* **Advanced HTML/Text**: Use this if you want to add some simple text that will appear as text on the page to the user. Useful for directions or descriptions.
* **Checkbox**: Along with **Checkboxes** and **Checkboxes other**, great for selecting options or a single checkbox for agreeing to terms and conditions.
* **Select**: Along with **Select other,** used to create a dropdown list of items.
* **Container**: Used to group fields into logical groupings, which can be handy if you have a lot of fields.

Each field has its own custom configuration options, but commonly you'll find label, if the field is mandatory or not, where the label should display, and any default options.

{% hint style="info" icon="circle-question" %}
The best way to figure out what each field can do, is to create a test webform and add them all.
{% endhint %}

### All elements

The following is a list of all elements you can add to your webforms:

* **Basic elements**
  * Checkbox
  * Hidden
  * Textarea
  * Text field
* **Advanced elements**
  * Autocomplete
  * CodeMirror
  * Color
  * Email
  * Email confirm
  * Email multiple
  * Height (feet/inches)
  * Mapping
  * Number
  * Range
  * Rating
  * Same as…
  * Scale
  * Search
  * Signature
  * Telephone
  * Terms of service
  * Text format
  * URL
  * Value
* **Composite elements**
  * Address
  * Contact
  * Custom composite
  * Link
  * Name
  * Telephone advanced
* **Markup elements**
  * Advanced HTML/Text
  * Basic HTML
  * Horizontal rule
  * Label
  * Message
  * More
  * View
* **File attachment elements**
  * Attachment token
  * Attachment Twig
  * Attachment URL
* **File upload elements**
  * Audio file
  * Document file
  * File
  * Image file
  * Video file
* **Options elements**
  * Checkboxes
  * Checkboxes other
  * Likert
  * Radios
  * Radios other
  * Select
  * Select other
  * Table select
  * Tableselect sort
  * Table sort
* **Computed elements**
  * Computed token
  * Computed Twig
* **Containers**
  * Container
  * Details
  * Fieldset
  * Flexbox layout
  * Item
  * Section
  * Table
* **Date/time elements**
  * Date
  * Date/time
  * Date list
  * Time
* **Entity reference elements**
  * Entity autocomplete
  * Entity checkboxes
  * Entity radios
  * Entity select
  * Term checkboxes
  * Term select
* **Buttons**
  * Submit button(s)


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://salsa-digital.gitbook.io/govcms-content-administration/webforms/basic-components.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
