# Forms

<p class="callout info">The Forms module allows administrators to create, manage, and deploy custom digital forms for end-users. Its primary purpose is to seamlessly collect specific information for organizational processes such as applications, appeals, or feedback. This article is intended for OPS-COM administrators responsible for building and managing digital forms.</p>

## Setup and Configuration

The primary setup step involves creating and configuring a new form using the three-tab interface.

**Admin Side:** Administrators build the forms using the administrative interface.

<p class="callout warning">This is a refactored module. Existing form data from older versions of the system is not compatible, and old forms must be recreated using this new tool. To view the different options available for form building, please refer to the *[Form Field Types](https://opscom.wiki/books/the-opscom-admin-portal/page/form-field-types)* article.</p>

**User Side:** Users do not configure forms but will interact with and submit the published forms based on the availability schedule defined by the administrator.

## Using this Feature

Administrators can use the following instructions to navigate the form builder and manage their existing digital forms.

### Creating a New Form

1. Hover over **User Management**, hover over **Forms**, and click **List Forms**.
2. Click the **Add Form** button on the Forms List page.
3. Enter a **Title** and **Description** for your form on the **Form Basics** tab.
4. Enable the **Visible** checkbox to make it accessible to users.
5. Set a **Show At** and **Hide At** date and time to schedule the form's exact availability.
6. Navigate to the **Post Form Actions** tab to configure what happens after a user submits the form.
7. Select **Mail to specific email** to automatically send a notification email to an administrator upon submission.
8. Define the **Completion Text** message that will be displayed to the user after they successfully submit the form.
9. Navigate to the **Questions** tab.
10. Drag and drop the desired field types from the right-hand panel into the questions area on the left.
11. Click the **edit** icon on each field to configure its specific options, such as its **Label**, **Help Text**, and whether it is a required field.

### Managing Forms in the List

Administrators can perform several actions on existing forms directly from the Forms List page:

- **Edit Form:** Click the **pen** icon to modify an existing form's settings and questions.
- **View Entries:** Click the **entries** button to view all user submissions for that form. For more details on this process, see the *[Viewing Form Entries](https://opscom.wiki/books/the-opscom-admin-portal/page/viewing-form-entries)* article.
- **Copy:** Click the **Copy** button to create an exact duplicate of the form structure without its previous entries.
- **Archive:** Click the **Archive** button to remove the form and all its entries from active view.
- **Export:** Click the **Export** button to download the form and all its entry data to a local Excel file.

### Understanding Question Options

When editing an individual question field, the following options are available to refine data collection:

- **Required:** Enable the **Required** checkbox to make the question mandatory for the user to answer before the system accepts the submission.
- **Searchable:** Enable the **Searchable** checkbox to allow the answers for this field to be queried directly on the Form Entries page.
- **Admin Only:** Enable the **Admin Only** checkbox to hide the question from end-users entirely. It is only visible to administrators when viewing or editing an entry.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Avoid editing a live form:** **Avoid editing a form after it has collected user entries.** Making changes to the form structure can cause existing entry data to misalign or display incorrectly.</span>
- <span style="color: rgb(22, 145, 121);">**Duplicate to update safely:** **The Copy feature is the safest way to update a live form.** Create a copy, make your necessary changes to the new version, and then archive the old form once you are ready for users to switch to the updated version.</span>
- <span style="color: rgb(22, 145, 121);">**Ensure continuous availability:** **If you want the form to always be available, make sure to set the Show At as the current date and leave the Hide At date blank.** Providing an end date will automatically restrict access once that time passes.</span>