# Creating Forms

{% embed url="<https://youtu.be/7CMHrEIEuS4>" %}

## Create a New Form

In the `Forms` panel, select the green `+` button to create a new form.

<figure><img src="/files/LmBgcYrgNJLvuPJ1TKsQ" alt=""><figcaption><p>Create New Form</p></figcaption></figure>

## Form Customization

<figure><img src="/files/72Mvm8zZkT2kzyF1Gb5A" alt=""><figcaption></figcaption></figure>

<details>

<summary>Form Editor Explained</summary>

(1) Form Title

(2) Form Submissions

* Anyone Can Submit
* Rank Restricted

[(3) Form Settings](#form-settings)

(4) Save

(5) Section Header

(6) Delete Section

[(7) Section Conditional](#conditional-sections)

[(8) Section Duplicate](#duplicatable-sections)

(9) Question Title

(10) Question Type (Text, select, etc.)

(11) Add Section

(12) Add Question

(13) Question Subtext

[(14) Text Mask](#text-mask)

(15) Clone Field

(16) Remove Field

(17) Required Field

</details>

### Form Settings

<details>

<summary>Form Settings</summary>

Form settings allows you to lock and unlock submissions, set submission limits, restrict submission permissions, customize the submission board title format, and add a description.

<figure><img src="/files/Kwq48y1WQqAWovKjGvWG" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Locking a Form</summary>

You can lock and unlock form submissions in the form settings, or from the main form editor panel. This prevents users from submitting new forms of this type.

<div><figure><img src="/files/4MMeXTiFV7hHYuHwrbRw" alt=""><figcaption><p>Editor: Lock</p></figcaption></figure> <figure><img src="/files/4FzCvkKgUGeAayZCSelx" alt=""><figcaption><p>Forms: Lock</p></figcaption></figure></div>

<figure><img src="/files/gBHC0WgCRMLujUVBD6jc" alt="" width="375"><figcaption><p>Available Forms: Locked Form Example</p></figcaption></figure>

</details>

<details>

<summary>Icon or Image</summary>

The form icon/image is displayed in the available forms page and on [social embeds](/cms/pricing/pricing-faq/branding-removal.md#social-page-embeds).

</details>

<details>

<summary>Limits</summary>

Total: Restrict the maximum number of submissions per-user in the specified time window.

Cooldown: Specify the wait time between submissions within the specified time window.

<div><figure><img src="/files/UhfEXy0wHApSOmPEJAqX" alt=""><figcaption><p>Limits: Total</p></figcaption></figure> <figure><img src="/files/uNLRp94CKhMXwd8royTk" alt=""><figcaption><p>Limits: Cooldown</p></figcaption></figure></div>

</details>

<details>

<summary>Permissions</summary>

Easily customize what user ranks have access to submit applications, view submissions, change the form stage, and more.

<figure><img src="/files/eUsBadvWPBW14JhAQy01" alt=""><figcaption><p>Form Permissions</p></figcaption></figure>

</details>

<details>

<summary>Submission Title</summary>

Customize submission titles on the form submission board with variables.

Click the `</>` icon to view available variables. Additionally, copy any form question ID (blue copy button on the question) and use that as a `{variable}` .

<div><figure><img src="/files/9x0KZSmSXoDjzqXO6GBt" alt=""><figcaption><p>Title Format</p></figcaption></figure> <figure><img src="/files/lJnrA1D9V7LFRibjo3TD" alt=""><figcaption><p>Title Variables</p></figcaption></figure> <figure><img src="/files/IWb0DjXAJYDc1v7QTBT4" alt="" width="375"><figcaption><p>Submission Board</p></figcaption></figure></div>

</details>

<details>

<summary>Description</summary>

The form description is displayed at the top of the form when submitting. Additionally, the description will be displayed in [social embeds](/cms/pricing/pricing-faq/branding-removal.md#social-page-embeds) when sharing a link.

</details>

### Text Mask

<details>

<summary>Text Mask</summary>

Text masks allow you to force a specific format on form questions.

Ex: Mask `(###) ### - ####` forces the input to be all numbers, formatted as `(123) 456 - 7890`

| Token | Description                                        |
| ----- | -------------------------------------------------- |
| `#`   | Numeric                                            |
| `S`   | Letter, a to z, case insensitive                   |
| `N`   | Alphanumeric, case insensitive for letters         |
| `A`   | Letter, transformed to uppercase                   |
| `a`   | Letter, transformed to lowercase                   |
| `X`   | Alphanumeric, transformed to uppercase for letters |
| `x`   | Alphanumeric, transformed to lowercase for letters |

</details>

### Conditional Sections

<details>

<summary>Conditional Sections</summary>

Sections can be displayed conditionally, based on the answer or selection of a previous section's question.

Toggle the conditional section on, select the question it will be conditional on, and enter or select the values that must be met.

<figure><img src="/files/RtCYXgOg50KZJ6Pc7Gd2" alt=""><figcaption></figcaption></figure>

</details>

### Duplicatable Sections

<details>

<summary>Duplicatable Sections</summary>

Sections can be marked as duplicatable, allowing the user to add multiple copies of a section to their submission.

Toggle the section duplication at the top inside the form editor.

When the user is submitting the form, they can select the duplicate button at the top of the section to make multiple copies.

<div><figure><img src="/files/c2HhTtWxjJD2MdcOC7nC" alt=""><figcaption></figcaption></figure> <figure><img src="/files/JDKRGnoYRYL1PPtufoLv" alt=""><figcaption></figcaption></figure></div>

</details>

## Form Stages

Form stages allow for automated actions when the form status/stage is changed.

Ex: When changing a user's membership application from **Pending** to **Accepted** you can send them an automated message, apply ranks, and more.

### Customizing Stages

<details>

<summary>Customizing Stages</summary>

Stages can be customized in the submission board.

<figure><img src="/files/EmNUUX8TXnmv5CVqP39P" alt=""><figcaption><p>Form Editor: Go To Submissions</p></figcaption></figure>

Select the desired form to view the available stages.

Stages can be reordered via drag-and-drop.

A new stage can be added by pressing the green `+` button at the end of the row.

An existing stage can be customized by hitting the gear icon.

<div><figure><img src="/files/wDiinRecHFML298IBehY" alt=""><figcaption><p>Submission Board: Add and Edit Stages</p></figcaption></figure> <figure><img src="/files/U3BCGyCMQYWhGaqwT5jM" alt=""><figcaption><p>Stage Editor: Style</p></figcaption></figure></div>

The `Actions` tab allows you to customize automated actions that will occur when a submission is set to this stage.

<figure><img src="/files/Syn5cHsBBwuGsr9YvKCv" alt=""><figcaption><p>Stage Editor: Actions</p></figcaption></figure>

</details>

### Conditional Stages

<details>

<summary>Conditional Stages</summary>

Form stage actions can be conditional, meaning they will only trigger if a certain question response was selected.

The example action below shows that the email will only be sent if the form submitter selects `Yes` to the question `Would you like us to email you more information?`

<div><figure><img src="/files/JygAfw5n22rtY27vavNA" alt=""><figcaption><p>Stage Action: Conditional Question</p></figcaption></figure> <figure><img src="/files/Asc7OMfGsNvJQS78LzIs" alt="" width="255"><figcaption><p>Form Submission: Conditional Question</p></figcaption></figure></div>

</details>

### Form Submissions: Submit, View, and Change Stages

{% content-ref url="/pages/YNtOdvzyv6bAEZtvqoz8" %}
[Form Submissions](/cms/tutorials/forms/form-submissions.md)
{% endcontent-ref %}


---

# Agent Instructions: 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:

```
GET https://docs.sonoransoftware.com/cms/tutorials/forms/creating-custom-forms.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
