# Forms Module

**OperationsCommander works hard to maintain an up to date product wiki! If you have any questions or if you feel something is missing,** [**post about it in the community.**](https://community.ops-com.com/c/product-support/6)

# Forms Admin

<p class="callout info">The Forms module allows organizations to create and manage digital forms for special requests and communications with users. Its primary purpose is to streamline data collection and digitize specialized workflows directly within the system. This article is intended for OPS-COM administrators responsible for setting up, configuring, and managing these digital forms.</p>

## Setup and Configuration

Administrators must ensure they have the appropriate role permissions assigned before attempting to create or modify forms.

**Admin Side:** Administrators require specific permissions to access the form builder tools.

1. Hover over **System Configuration**, click **Admin Management**, and click **Manage Roles**.
2. Select the relevant administrator role and click the **Permissions** button.
3. Navigate to the **Users** tab and enable the **Edit Forms** and **View Forms** checkboxes.
4. Click the **Save** button to apply the changes.

<p class="callout warning">The Forms module has been refactored with new functionality, and new forms are currently only operational on the OPS-COM app. Any existing forms created in the old format are not compatible and must be recreated using the new form builder.</p>

## Using this Feature

Administrators can use the following instructions to access the module and utilize the available form management tools.

1. Hover over **User Management**, hover over **Forms**, and click **List Forms** to view the complete list of existing forms.

### Available Actions and Buttons

Once on the list page, administrators can interact with forms using the following actions:

- **+Add Form**: Click the **+Add Form** button to open the new form builder, allowing you to design and configure your form from scratch.
- **Edit**: Click the **Edit** icon (represented by a pencil icon) next to a form in the list to open the builder and make changes to the layout or questions.
- **Entries**: Click the **Entries** button to view a comprehensive list of all users who have filled out the specific form, along with their submitted information.
- **Copy**: Click the **Copy** button to immediately duplicate a form. The copied version will be added to the bottom of the list.
- **Archive**: Click the **Archive** button to retire a form so it can no longer be used by end-users. All past entries and submitted information will remain saved for historical reference.
- **Export**: Click the **Export** button to download the form data to your device through your browser's download manager in a .xls format (Microsoft Excel Spreadsheet).

---

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

- <span style="color: rgb(22, 145, 121);">**Recreate legacy forms promptly:** **Remember that existing legacy form data is not compatible with the new format.** You must actively recreate any old forms using the new form builder for them to function correctly on the OPS-COM app.</span>
- <span style="color: rgb(22, 145, 121);">**Audit permissions regularly:** **Regularly review and ensure that the appropriate administrator roles have the necessary permissions.** Confirming that the **Edit Forms** and **View Forms** checkboxes are properly assigned prevents unauthorized modifications to your active forms.</span>
- <span style="color: rgb(22, 145, 121);">**Prioritize user-friendly design:** **Consider the end-user experience on the OPS-COM app when creating new forms.** Keep forms concise and clearly structured with logical questions to ensure ease of use for individuals submitting data from mobile devices.</span>

# Viewing Form Entries

<p class="callout info">The Viewing Form Entries feature allows administrators to view, search, and manage user submissions for custom digital forms. Its primary purpose is to provide the tools necessary to review submitted data, edit information, and communicate directly with the submitter. This article is intended for OPS-COM administrators responsible for managing form data and processing user requests.</p>

## Setup and Configuration

Before you can search for and manage form entries, the foundational forms must be established in the system.

**Admin Side:** This functionality requires that a digital form has already been created and submitted by users. The specific search options available on the Form Entries page are strictly dependent on which fields were marked as "searchable" during the form's initial setup. Instructions for configuring these field settings can be found in the *[Creating New Forms](https://opscom.wiki/books/the-opscom-admin-portal/page/forms "Forms")* article.

**User Side:** End-users submit form entries via the public-facing platform or OPS-COM app, but they cannot view the administrative entry management backend.

## Using this Feature

Administrators can use the following instructions to search for specific form submissions and manage them individually from the entry view page.

### Searching for Form Entries

1. Hover over **User Management**, hover over **Forms**, and click **List Forms**.
2. Locate the desired form in the list and click the **entries** button.
3. Enter a date range using the **Start date** and **Up to and including** fields on the Form Entry Search page.
4. Select which searchable columns will be displayed in the results list using the **Show in results** multi-select box.
5. Click the **toggle more options** button to filter by specific answers. This reveals text boxes for each searchable field where you can enter a targeted search query.
6. Click the **search** button to generate the list of entries.
7. Click an individual entry from the results list to view its full details.

### Working with an Individual Entry

The Entry View page displays the submitter’s information and all of their submitted answers. Administrators can perform the following actions from this page:

- **Viewing and Editing Data:** Administrators can manually edit any of the user's submitted answers or add values to administrative fields. Click the **save** button at the bottom of the page to apply any changes.
- **Replying to the User:** Click the **prepare email** button at the top of the page. You will be redirected to the email composition screen with the user's email address and the form's name pre-filled as the subject line.
- **Deleting an Entry:** Entries can be permanently removed by clicking the delete option directly from this page.

<p class="callout info">**Visual Cues:** Fields marked as Admin-Only are clearly indicated by a blue border. Hovering your mouse over this border will display a helpful administrative tooltip.</p>

---

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

- <span style="color: rgb(22, 145, 121);">**Maximize search functionality:** **Use the toggle more options feature for powerful, targeted searches.** For example, you can easily find all submissions where a user answered 'Yes' to a specific question by entering 'Yes' into that specific field's search box.</span>
- <span style="color: rgb(22, 145, 121);">**Leverage administrative fields:** **Remember that Admin-Only Fields are never visible to the end-user.** Use these hidden fields to safely add internal notes, track status updates, or log other administrative data related to the submission without exposing it to the submitter.</span>
- <span style="color: rgb(22, 145, 121);">**Edit with caution:** **Editing a user's form entry permanently changes the data stored in the database.** Always ensure modifications are necessary and accurate before saving changes to a user's original submission, as the original unedited entry will be overwritten.</span>

# Form Field Types

<p class="callout info">The Form Field Types reference provides a detailed overview of the various field types available when building a custom digital form. Its primary purpose is to help administrators understand the function and configuration options for each individual field, enabling them to create effective and user-friendly forms. This article is intended for OPS-COM administrators responsible for designing and deploying digital forms.</p>

## Setup and Configuration

This feature involves utilizing the available building blocks within the form creation tool.

**Admin Side:** No special system configuration is required to use these form fields. For a complete guide on building a form from scratch, please refer to the *[Creating a New Form](https://opscom.wiki/books/the-opscom-admin-portal/page/forms)* article.

## Using this Feature

Administrators can utilize the following field types when designing their custom forms. Each field type includes specific configuration options.

### Checkbox Group

Used to allow a user to select one or more options from a list.

- **Enable Other**: Allows the user to input a custom value not present in the options list.
- **Options**: The list of choices for the user. Options can be pre-selected for the user by enabling the checkbox next to the desired item.

### Date Field

Used to get a date from the user, who will be presented with a calendar date picker.

- **Type**: The type of date field.
- **Min / Max**: The minimum and maximum allowed d<span class="citation-3790 citation-3791 citation-end-3791">ates that can be selected.<sup class="superscript embedded" data-turn-source-index="1"></sup></span><span class="citation-3790 citation-end-3790"><sup class="superscript embedded" data-turn-source-index="2"></sup></span>
- **<span class="citation-3788 citation-3789">Step</span>**<span class="citation-3788 citation-3789">: The d</span><span class="citation-3780 citation-3781 citation-3782 citation-3783 citation-3784 citation-3785 citation-3786 citation-3787 citation-3788 citation-3789 citation-end-3789">ate increment steps.<sup class="superscript embedded" data-turn-source-index="3"></sup></span><span class="citation-3780 citation-3781 citation-3782 citation-3783 citation-3784 citation-3785 citation-3786 citation-3787 citation-3788 citation-end-3788"><sup class="superscript embedded" data-turn-source-index="4"></sup></span><span class="citation-3780 citation-3781 citation-3782 citation-3783 citation-3784 citation-3785 citation-3786 citation-3787 citation-end-3787"><sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-3780 citation-3781 citation-3782 citation-3783 citation-3784 citation-3785 citation-3786 citation-end-3786"><sup class="superscript embedded" data-turn-source-index="6"></sup></span><span class="citation-3780 citation-3781 citation-3782 citation-3783 citation-3784 citation-3785 citation-end-3785"><sup class="superscript embedded" data-turn-source-index="7"></sup></span><span class="citation-3780 citation-3781 citation-3782 citation-3783 citation-3784 citation-end-3784"><sup class="superscript embedded" data-turn-source-index="8"></sup></span><span class="citation-3780 citation-3781 citation-3782 citation-3783 citation-end-3783"><sup class="superscript embedded" data-turn-source-index="9"></sup></span><span class="citation-3780 citation-3781 citation-3782 citation-end-3782"><sup class="superscript embedded" data-turn-source-index="10"></sup></span><span class="citation-3780 citation-3781 citation-end-3781"><sup class="superscript embedded" data-turn-source-index="11"></sup></span><span class="citation-3780 citation-end-3780"><sup class="superscript embedded" data-turn-source-index="12"></sup></span>

### <span class="citation-3770 citation-3771 citation-3772 citation-3773 citation-3774 citation-3775 citation-3776 citation-3777 citation-3778 citation-3779 citation-end-3779">Header<sup class="superscript embedded" data-turn-source-index="13"></sup></span><span class="citation-3770 citation-3771 citation-3772 citation-3773 citation-3774 citation-3775 citation-3776 citation-3777 citation-3778 citation-end-3778"><sup class="superscript embedded" data-turn-source-index="14"></sup></span><span class="citation-3770 citation-3771 citation-3772 citation-3773 citation-3774 citation-3775 citation-3776 citation-3777 citation-end-3777"><sup class="superscript embedded" data-turn-source-index="15"></sup></span><span class="citation-3770 citation-3771 citation-3772 citation-3773 citation-3774 citation-3775 citation-3776 citation-end-3776"><sup class="superscript embedded" data-turn-source-index="16"></sup></span><span class="citation-3770 citation-3771 citation-3772 citation-3773 citation-3774 citation-3775 citation-end-3775"><sup class="superscript embedded" data-turn-source-index="17"></sup></span><span class="citation-3770 citation-3771 citation-3772 citation-3773 citation-3774 citation-end-3774"><sup class="superscript embedded" data-turn-source-index="18"></sup></span><span class="citation-3770 citation-3771 citation-3772 citation-3773 citation-end-3773"><sup class="superscript embedded" data-turn-source-index="19"></sup></span><span class="citation-3770 citation-3771 citation-3772 citation-end-3772"><sup class="superscript embedded" data-turn-source-index="20"></sup></span><span class="citation-3770 citation-3771 citation-end-3771"><sup class="superscript embedded" data-turn-source-index="21"></sup></span><span class="citation-3770 citation-end-3770"><sup class="superscript embedded" data-turn-source-index="22"></sup></span>

<span class="citation-3760 citation-3761 citation-3762 citation-3763 citation-3764 citation-3765 citation-3766 citation-3767 citation-3768 citation-3769 citation-end-3769">Used to display a header or subheader on the form. This is a display-only field.<sup class="superscript embedded" data-turn-source-index="23"></sup></span><span class="citation-3760 citation-3761 citation-3762 citation-3763 citation-3764 citation-3765 citation-3766 citation-3767 citation-3768 citation-end-3768"><sup class="superscript embedded" data-turn-source-index="24"></sup></span><span class="citation-3760 citation-3761 citation-3762 citation-3763 citation-3764 citation-3765 citation-3766 citation-3767 citation-end-3767"><sup class="superscript embedded" data-turn-source-index="25"></sup></span><span class="citation-3760 citation-3761 citation-3762 citation-3763 citation-3764 citation-3765 citation-3766 citation-end-3766"><sup class="superscript embedded" data-turn-source-index="26"></sup></span><span class="citation-3760 citation-3761 citation-3762 citation-3763 citation-3764 citation-3765 citation-end-3765"><sup class="superscript embedded" data-turn-source-index="27"></sup></span><span class="citation-3760 citation-3761 citation-3762 citation-3763 citation-3764 citation-end-3764"><sup class="superscript embedded" data-turn-source-index="28"></sup></span><span class="citation-3760 citation-3761 citation-3762 citation-3763 citation-end-3763"><sup class="superscript embedded" data-turn-source-index="29"></sup></span><span class="citation-3760 citation-3761 citation-3762 citation-end-3762"><sup class="superscript embedded" data-turn-source-index="30"></sup></span><span class="citation-3760 citation-3761 citation-end-3761"><sup class="superscript embedded" data-turn-source-index="31"></sup></span><span class="citation-3760 citation-end-3760"><sup class="superscript embedded" data-turn-source-index="32"></sup></span>

- **<span class="citation-3750 citation-3751 citation-3752 citation-3753 citation-3754 citation-3755 citation-3756 citation-3757 citation-3758 citation-3759">Label</span>**<span class="citation-3750 citation-3751 citation-3752 citation-3753 citation-3754 citation-3755 citation-3756 citation-3757 citation-3758 citation-3759 citation-end-3759">: The header text that will be displayed.<sup class="superscript embedded" data-turn-source-index="33"></sup></span><span class="citation-3750 citation-3751 citation-3752 citation-3753 citation-3754 citation-3755 citation-3756 citation-3757 citation-3758 citation-end-3758"><sup class="superscript embedded" data-turn-source-index="34"></sup></span><span class="citation-3750 citation-3751 citation-3752 citation-3753 citation-3754 citation-3755 citation-3756 citation-3757 citation-end-3757"><sup class="superscript embedded" data-turn-source-index="35"></sup></span><span class="citation-3750 citation-3751 citation-3752 citation-3753 citation-3754 citation-3755 citation-3756 citation-end-3756"><sup class="superscript embedded" data-turn-source-index="36"></sup></span><span class="citation-3750 citation-3751 citation-3752 citation-3753 citation-3754 citation-3755 citation-end-3755"><sup class="superscript embedded" data-turn-source-index="37"></sup></span><span class="citation-3750 citation-3751 citation-3752 citation-3753 citation-3754 citation-end-3754"><sup class="superscript embedded" data-turn-source-index="38"></sup></span><span class="citation-3750 citation-3751 citation-3752 citation-3753 citation-end-3753"><sup class="superscript embedded" data-turn-source-index="39"></sup></span><span class="citation-3750 citation-3751 citation-3752 citation-end-3752"><sup class="superscript embedded" data-turn-source-index="40"></sup></span><span class="citation-3750 citation-3751 citation-end-3751"><sup class="superscript embedded" data-turn-source-index="41"></sup></span><span class="citation-3750 citation-end-3750"><sup class="superscript embedded" data-turn-source-index="42"></sup></span>
- **<span class="citation-3740 citation-3741 citation-3742 citation-3743 citation-3744 citation-3745 citation-3746 citation-3747 citation-3748 citation-3749">Type</span>**<span class="citation-3740 citation-3741 citation-3742 citation-3743 citation-3744 citation-3745 citation-3746 citation-3747 citation-3748 citation-3749 citation-end-3749">: The header size (e.g., H1, H2).<sup class="superscript embedded" data-turn-source-index="43"></sup></span><span class="citation-3740 citation-3741 citation-3742 citation-3743 citation-3744 citation-3745 citation-3746 citation-3747 citation-3748 citation-end-3748"><sup class="superscript embedded" data-turn-source-index="44"></sup></span><span class="citation-3740 citation-3741 citation-3742 citation-3743 citation-3744 citation-3745 citation-3746 citation-3747 citation-end-3747"><sup class="superscript embedded" data-turn-source-index="45"></sup></span><span class="citation-3740 citation-3741 citation-3742 citation-3743 citation-3744 citation-3745 citation-3746 citation-end-3746"><sup class="superscript embedded" data-turn-source-index="46"></sup></span><span class="citation-3740 citation-3741 citation-3742 citation-3743 citation-3744 citation-3745 citation-end-3745"><sup class="superscript embedded" data-turn-source-index="47"></sup></span><span class="citation-3740 citation-3741 citation-3742 citation-3743 citation-3744 citation-end-3744"><sup class="superscript embedded" data-turn-source-index="48"></sup></span><span class="citation-3740 citation-3741 citation-3742 citation-3743 citation-end-3743"><sup class="superscript embedded" data-turn-source-index="49"></sup></span><span class="citation-3740 citation-3741 citation-3742 citation-end-3742"><sup class="superscript embedded" data-turn-source-index="50"></sup></span><span class="citation-3740 citation-3741 citation-end-3741"><sup class="superscript embedded" data-turn-source-index="51"></sup></span><span class="citation-3740 citation-end-3740"><sup class="superscript embedded" data-turn-source-index="52"></sup></span>

### <span class="citation-3730 citation-3731 citation-3732 citation-3733 citation-3734 citation-3735 citation-3736 citation-3737 citation-3738 citation-3739 citation-end-3739">Number<sup class="superscript embedded" data-turn-source-index="53"></sup></span><span class="citation-3730 citation-3731 citation-3732 citation-3733 citation-3734 citation-3735 citation-3736 citation-3737 citation-3738 citation-end-3738"><sup class="superscript embedded" data-turn-source-index="54"></sup></span><span class="citation-3730 citation-3731 citation-3732 citation-3733 citation-3734 citation-3735 citation-3736 citation-3737 citation-end-3737"><sup class="superscript embedded" data-turn-source-index="55"></sup></span><span class="citation-3730 citation-3731 citation-3732 citation-3733 citation-3734 citation-3735 citation-3736 citation-end-3736"><sup class="superscript embedded" data-turn-source-index="56"></sup></span><span class="citation-3730 citation-3731 citation-3732 citation-3733 citation-3734 citation-3735 citation-end-3735"><sup class="superscript embedded" data-turn-source-index="57"></sup></span><span class="citation-3730 citation-3731 citation-3732 citation-3733 citation-3734 citation-end-3734"><sup class="superscript embedded" data-turn-source-index="58"></sup></span><span class="citation-3730 citation-3731 citation-3732 citation-3733 citation-end-3733"><sup class="superscript embedded" data-turn-source-index="59"></sup></span><span class="citation-3730 citation-3731 citation-3732 citation-end-3732"><sup class="superscript embedded" data-turn-source-index="60"></sup></span><span class="citation-3730 citation-3731 citation-end-3731"><sup class="superscript embedded" data-turn-source-index="61"></sup></span><span class="citation-3730 citation-end-3730"><sup class="superscript embedded" data-turn-source-index="62"></sup></span>

<span class="citation-3720 citation-3721 citation-3722 citation-3723 citation-3724 citation-3725 citation-3726 citation-3727 citation-3728 citation-3729 citation-end-3729">Used to accept<sup class="superscript embedded" data-turn-source-index="63"></sup></span><span class="citation-3720 citation-3721 citation-3722 citation-3723 citation-3724 citation-3725 citation-3726 citation-3727 citation-3728 citation-end-3728"><sup class="superscript embedded" data-turn-source-index="64"></sup></span><span class="citation-3720 citation-3721 citation-3722 citation-3723 citation-3724 citation-3725 citation-3726 citation-3727 citation-end-3727"> numerical digits only.<sup class="superscript embedded" data-turn-source-index="65"></sup></span><span class="citation-3720 citation-3721 citation-3722 citation-3723 citation-3724 citation-3725 citation-3726 citation-end-3726"><sup class="superscript embedded" data-turn-source-index="66"></sup></span><span class="citation-3720 citation-3721 citation-3722 citation-3723 citation-3724 citation-3725 citation-end-3725"><sup class="superscript embedded" data-turn-source-index="67"></sup></span><span class="citation-3720 citation-3721 citation-3722 citation-3723 citation-3724 citation-end-3724"><sup class="superscript embedded" data-turn-source-index="68"></sup></span><span class="citation-3720 citation-3721 citation-3722 citation-3723 citation-end-3723"><sup class="superscript embedded" data-turn-source-index="69"></sup></span><span class="citation-3720 citation-3721 citation-3722 citation-end-3722"><sup class="superscript embedded" data-turn-source-index="70"></sup></span><span class="citation-3720 citation-3721 citation-end-3721"><sup class="superscript embedded" data-turn-source-index="71"></sup></span><span class="citation-3720 citation-end-3720"><sup class="superscript embedded" data-turn-source-index="72"></sup></span>

- **<span class="citation-3712 citation-3713 citation-3714 citation-3715 citation-3716 citation-3717 citation-3718 citation-3719">Type</span>**<span class="citation-3712 citation-3713 citation-3714 citation-3715 citation-3716 citation-3717 citation-3718 citation-3719 citation-end-3719">: The type of number field.<sup class="superscript embedded" data-turn-source-index="73"></sup></span><span class="citation-3712 citation-3713 citation-3714 citation-3715 citation-3716 citation-3717 citation-3718 citation-end-3718"><sup class="superscript embedded" data-turn-source-index="74"></sup></span><span class="citation-3712 citation-3713 citation-3714 citation-3715 citation-3716 citation-3717 citation-end-3717"><sup class="superscript embedded" data-turn-source-index="75"></sup></span><span class="citation-3712 citation-3713 citation-3714 citation-3715 citation-3716 citation-end-3716"><sup class="superscript embedded" data-turn-source-index="76"></sup></span><span class="citation-3712 citation-3713 citation-3714 citation-3715 citation-end-3715"><sup class="superscript embedded" data-turn-source-index="77"></sup></span><span class="citation-3712 citation-3713 citation-3714 citation-end-3714"><sup class="superscript embedded" data-turn-source-index="78"></sup></span><span class="citation-3712 citation-3713 citation-end-3713"><sup class="superscript embedded" data-turn-source-index="79"></sup></span><span class="citation-3712 citation-end-3712"><sup class="superscript embedded" data-turn-source-index="80"></sup></span>
- **<span class="citation-3704 citation-3705 citation-3706 citation-3707 citation-3708 citation-3709 citation-3710 citation-3711">Min / Max</span>**<span class="citation-3704 citation-3705 citation-3706 citation-3707 citation-3708 citation-3709 citation-3710 citation-3711 citation-end-3711">: The minimum and maximum allowed numerical values.<sup class="superscript embedded" data-turn-source-index="81"></sup></span><span class="citation-3704 citation-3705 citation-3706 citation-3707 citation-3708 citation-3709 citation-3710 citation-end-3710"><sup class="superscript embedded" data-turn-source-index="82"></sup></span><span class="citation-3704 citation-3705 citation-3706 citation-3707 citation-3708 citation-3709 citation-end-3709"><sup class="superscript embedded" data-turn-source-index="83"></sup></span><span class="citation-3704 citation-3705 citation-3706 citation-3707 citation-3708 citation-end-3708"><sup class="superscript embedded" data-turn-source-index="84"></sup></span><span class="citation-3704 citation-3705 citation-3706 citation-3707 citation-end-3707"><sup class="superscript embedded" data-turn-source-index="85"></sup></span><span class="citation-3704 citation-3705 citation-3706 citation-end-3706"><sup class="superscript embedded" data-turn-source-index="86"></sup></span><span class="citation-3704 citation-3705 citation-end-3705"><sup class="superscript embedded" data-turn-source-index="87"></sup></span><span class="citation-3704 citation-end-3704"><sup class="superscript embedded" data-turn-source-index="88"></sup></span>
- **<span class="citation-3698 citation-3699 citation-3700 citation-3701 citation-3702 citation-3703">Step</span>**<span class="citation-3698 citation-3699 citation-3700 citation-3701 citation-3702 citation-3703 citation-end-3703">: The amount the value increments or decrements when using the arrow controls.<sup class="superscript embedded" data-turn-source-index="89"></sup></span><span class="citation-3698 citation-3699 citation-3700 citation-3701 citation-3702 citation-end-3702"><sup class="superscript embedded" data-turn-source-index="90"></sup></span><span class="citation-3698 citation-3699 citation-3700 citation-3701 citation-end-3701"><sup class="superscript embedded" data-turn-source-index="91"></sup></span><span class="citation-3698 citation-3699 citation-3700 citation-end-3700"><sup class="superscript embedded" data-turn-source-index="92"></sup></span><span class="citation-3698 citation-3699 citation-end-3699"><sup class="superscript embedded" data-turn-source-index="93"></sup></span><span class="citation-3698 citation-end-3698"><sup class="superscript embedded" data-turn-source-index="94"></sup></span>

### <span class="citation-3692 citation-3693 citation-3694 citation-3695 citation-3696 citation-3697 citation-end-3697">Paragraph<sup class="superscript embedded" data-turn-source-index="95"></sup></span><span class="citation-3692 citation-3693 citation-3694 citation-3695 citation-3696 citation-end-3696"><sup class="superscript embedded" data-turn-source-index="96"></sup></span><span class="citation-3692 citation-3693 citation-3694 citation-3695 citation-end-3695"><sup class="superscript embedded" data-turn-source-index="97"></sup></span><span class="citation-3692 citation-3693 citation-3694 citation-end-3694"><sup class="superscript embedded" data-turn-source-index="98"></sup></span><span class="citation-3692 citation-3693 citation-end-3693"><sup class="superscript embedded" data-turn-source-index="99"></sup></span><span class="citation-3692 citation-end-3692"><sup class="superscript embedded" data-turn-source-index="100"></sup></span>

<span class="citation-3686 citation-3687 citation-3688 citation-3689 citation-3690 citation-3691 citation-end-3691">Used to display a block of text on the form<sup class="superscript embedded" data-turn-source-index="101"></sup></span><span class="citation-3686 citation-3687 citation-3688 citation-3689 citation-3690 citation-end-3690">, such as for instructions. This is a display-only field.<sup class="superscript embedded" data-turn-source-index="102"></sup></span><span class="citation-3686 citation-3687 citation-3688 citation-3689 citation-end-3689"><sup class="superscript embedded" data-turn-source-index="103"></sup></span><span class="citation-3686 citation-3687 citation-3688 citation-end-3688"><sup class="superscript embedded" data-turn-source-index="104"></sup></span><span class="citation-3686 citation-3687 citation-end-3687"><sup class="superscript embedded" data-turn-source-index="105"></sup></span><span class="citation-3686 citation-end-3686"><sup class="superscript embedded" data-turn-source-index="106"></sup></span>

- **<span class="citation-3681 citation-3682 citation-3683 citation-3684 citation-3685">Content</span>**<span class="citation-3681 citation-3682 citation-3683 citation-3684 citation-3685 citation-end-3685">: The paragraph text to be displayed.<sup class="superscript embedded" data-turn-source-index="107"></sup></span><span class="citation-3681 citation-3682 citation-3683 citation-3684 citation-end-3684"><sup class="superscript embedded" data-turn-source-index="108"></sup></span><span class="citation-3681 citation-3682 citation-3683 citation-end-3683"><sup class="superscript embedded" data-turn-source-index="109"></sup></span><span class="citation-3681 citation-3682 citation-end-3682"><sup class="superscript embedded" data-turn-source-index="110"></sup></span><span class="citation-3681 citation-end-3681"><sup class="superscript embedded" data-turn-source-index="111"></sup></span>

### <span class="citation-3676 citation-3677 citation-3678 citation-3679 citation-3680 citation-end-3680">Radio Group<sup class="superscript embedded" data-turn-source-index="112"></sup></span><span class="citation-3676 citation-3677 citation-3678 citation-3679 citation-end-3679"><sup class="superscript embedded" data-turn-source-index="113"></sup></span><span class="citation-3676 citation-3677 citation-3678 citation-end-3678"><sup class="superscript embedded" data-turn-source-index="114"></sup></span><span class="citation-3676 citation-3677 citation-end-3677"><sup class="superscript embedded" data-turn-source-index="115"></sup></span><span class="citation-3676 citation-end-3676"><sup class="superscript embedded" data-turn-source-index="116"></sup></span>

<span class="citation-3671 citation-3672 citation-3673 citation-3674 citation-3675 citation-end-3675">Used to allow <sup class="superscript embedded" data-turn-source-index="117"></sup></span><span class="citation-3671 citation-3672 citation-3673 citation-3674 citation-end-3674">a user to select only one option from a list.<sup class="superscript embedded" data-turn-source-index="118"></sup></span><span class="citation-3671 citation-3672 citation-3673 citation-end-3673"><sup class="superscript embedded" data-turn-source-index="119"></sup></span><span class="citation-3671 citation-3672 citation-end-3672"><sup class="superscript embedded" data-turn-source-index="120"></sup></span><span class="citation-3671 citation-end-3671"><sup class="superscript embedded" data-turn-source-index="121"></sup></span>

- **<span class="citation-3667 citation-3668 citation-3669 citation-3670">Options</span>**<span class="citation-3667 citation-3668 citation-3669 citation-3670 citation-end-3670">: The list of choices for the user. One <sup class="superscript embedded" data-turn-source-index="122"></sup></span><span class="citation-3667 citation-3668 citation-3669 citation-end-3669">option can be pre-selected by enabling the corresponding radio button.<sup class="superscript embedded" data-turn-source-index="123"></sup></span><span class="citation-3667 citation-3668 citation-end-3668"><sup class="superscript embedded" data-turn-source-index="124"></sup></span><span class="citation-3667 citation-end-3667"><sup class="superscript embedded" data-turn-source-index="125"></sup></span>

### <span class="citation-3664 citation-3665 citation-3666 citation-end-3666">Select Menu<sup class="superscript embedded" data-turn-source-index="126"></sup></span><span class="citation-3664 citation-3665 citation-end-3665"><sup class="superscript embedded" data-turn-source-index="127"></sup></span><span class="citation-3664 citation-end-3664"><sup class="superscript embedded" data-turn-source-index="128"></sup></span>

<span class="citation-3661 citation-3662 citation-3663 citation-end-3663">Presents a drop-down list of options. This is ideal for questions with<sup class="superscript embedded" data-turn-source-index="129"></sup></span><span class="citation-3661 citation-3662 citation-end-3662"> many choices to save screen space.<sup class="superscript embedded" data-turn-source-index="130"></sup></span><span class="citation-3661 citation-end-3661"><sup class="superscript embedded" data-turn-source-index="131"></sup></span>

- **<span class="citation-3659 citation-3660">Allow Multiple Selections</span>**<span class="citation-3659 citation-3660 citation-end-3660">: Enable this to allow the user to select more than one option (making it function like a <sup class="superscript embedded" data-turn-source-index="132"></sup></span>**<span class="citation-3659">Checkbox Group</span>**<span class="citation-3659 citation-end-3659">).<sup class="superscript embedded" data-turn-source-index="133"></sup></span>
- **<span class="citation-3658">Options</span>**<span class="citation-3658 citation-end-3658">: The list of choices for the user.<sup class="superscript embedded" data-turn-source-index="134"></sup></span>

### <span class="citation-3657 citation-end-3657">Text Field<sup class="superscript embedded" data-turn-source-index="135"></sup></span>

<span class="citation-3656 citation-end-3656">Used to all<sup class="superscript embedded" data-turn-source-index="136"></sup></span>ow a use<span class="citation-3650 citation-3651 citation-3652 citation-3653 citation-3654 citation-3655 citation-end-3655">r to input a single line of text.<sup class="superscript embedded" data-turn-source-index="137"></sup></span><span class="citation-3650 citation-3651 citation-3652 citation-3653 citation-3654 citation-end-3654"><sup class="superscript embedded" data-turn-source-index="138"></sup></span><span class="citation-3650 citation-3651 citation-3652 citation-3653 citation-end-3653"><sup class="superscript embedded" data-turn-source-index="139"></sup></span><span class="citation-3650 citation-3651 citation-3652 citation-end-3652"><sup class="superscript embedded" data-turn-source-index="140"></sup></span><span class="citation-3650 citation-3651 citation-end-3651"><sup class="superscript embedded" data-turn-source-index="141"></sup></span><span class="citation-3650 citation-end-3650"><sup class="superscript embedded" data-turn-source-index="142"></sup></span>

- **<span class="citation-3644 citation-3645 citation-3646 citation-3647 citation-3648 citation-3649">Type</span>**<span class="citation-3644 citation-3645 citation-3646 citation-3647 citation-3648 citation-3649">: Specifies the kind of input required (e.g., </span>**<span class="citation-3644 citation-3645 citation-3646 citation-3647 citation-3648 citation-3649">Text Field</span>**<span class="citation-3644 citation-3645 citation-3646 citation-3647 citation-3648 citation-3649">, </span>**<span class="citation-3644 citation-3645 citation-3646 citation-3647 citation-3648 citation-3649">Password</span>**<span class="citation-3644 citation-3645 citation-3646 citation-3647 citation-3648 citation-3649">, </span>**<span class="citation-3644 citation-3645 citation-3646 citation-3647 citation-3648 citation-3649">Email</span>**<span class="citation-3644 citation-3645 citation-3646 citation-3647 citation-3648 citation-3649">, </span>**<span class="citation-3644 citation-3645 citation-3646 citation-3647 citation-3648 citation-3649">Tel</span>**<span class="citation-3644 citation-3645 citation-3646 citation-3647 citation-3648 citation-3649 citation-end-3649">).<sup class="superscript embedded" data-turn-source-index="143"></sup></span><span class="citation-3644 citation-3645 citation-3646 citation-3647 citation-3648 citation-end-3648"><sup class="superscript embedded" data-turn-source-index="144"></sup></span><span class="citation-3644 citation-3645 citation-3646 citation-3647 citation-end-3647"><sup class="superscript embedded" data-turn-source-index="145"></sup></span><span class="citation-3644 citation-3645 citation-3646 citation-end-3646"><sup class="superscript embedded" data-turn-source-index="146"></sup></span><span class="citation-3644 citation-3645 citation-end-3645"><sup class="superscript embedded" data-turn-source-index="147"></sup></span><span class="citation-3644 citation-end-3644"><sup class="superscript embedded" data-turn-source-index="148"></sup></span>
- **<span class="citation-3638 citation-3639 citation-3640 citation-3641 citation-3642 citation-3643">Max Length</span>**<span class="citation-3638 citation-3639 citation-3640 citation-3641 citation-3642 citation-3643 citation-end-3643">: The maximum number of characters allowed.<sup class="superscript embedded" data-turn-source-index="149"></sup></span><span class="citation-3638 citation-3639 citation-3640 citation-3641 citation-3642 citation-end-3642"><sup class="superscript embedded" data-turn-source-index="150"></sup></span><span class="citation-3638 citation-3639 citation-3640 citation-3641 citation-end-3641"><sup class="superscript embedded" data-turn-source-index="151"></sup></span><span class="citation-3638 citation-3639 citation-3640 citation-end-3640"><sup class="superscript embedded" data-turn-source-index="152"></sup></span><span class="citation-3638 citation-3639 citation-end-3639"><sup class="superscript embedded" data-turn-source-index="153"></sup></span><span class="citation-3638 citation-end-3638"><sup class="superscript embedded" data-turn-source-index="154"></sup></span>

### <span class="citation-3632 citation-3633 citation-3634 citation-3635 citation-3636 citation-3637 citation-end-3637">Text Area<sup class="superscript embedded" data-turn-source-index="155"></sup></span><span class="citation-3632 citation-3633 citation-3634 citation-3635 citation-3636 citation-end-3636"><sup class="superscript embedded" data-turn-source-index="156"></sup></span><span class="citation-3632 citation-3633 citation-3634 citation-3635 citation-end-3635"><sup class="superscript embedded" data-turn-source-index="157"></sup></span><span class="citation-3632 citation-3633 citation-3634 citation-end-3634"><sup class="superscript embedded" data-turn-source-index="158"></sup></span><span class="citation-3632 citation-3633 citation-end-3633"><sup class="superscript embedded" data-turn-source-index="159"></sup></span><span class="citation-3632 citation-end-3632"><sup class="superscript embedded" data-turn-source-index="160"></sup></span>

<span class="citation-3626 citation-3627 citation-3628 citation-3629 citation-3630 citation-3631">Similar to a </span>**<span class="citation-3626 citation-3627 citation-3628 citation-3629 citation-3630 citation-3631">Text Field</span>**<span class="citation-3626 citation-3627 citation-3628 citation-3629 citation-3630 citation-3631 citation-end-3631">, but provides a larger, multi-line area for text input.<sup class="superscript embedded" data-turn-source-index="161"></sup></span><span class="citation-3626 citation-3627 citation-3628 citation-3629 citation-3630 citation-end-3630"><sup class="superscript embedded" data-turn-source-index="162"></sup></span><span class="citation-3626 citation-3627 citation-3628 citation-3629 citation-end-3629"><sup class="superscript embedded" data-turn-source-index="163"></sup></span><span class="citation-3626 citation-3627 citation-3628 citation-end-3628"><sup class="superscript embedded" data-turn-source-index="164"></sup></span><span class="citation-3626 citation-3627 citation-end-3627"><sup class="superscript embedded" data-turn-source-index="165"></sup></span><span class="citation-3626 citation-end-3626"><sup class="superscript embedded" data-turn-source-index="166"></sup></span>

- **<span class="citation-3620 citation-3621 citation-3622 citation-3623 citation-3624 citation-3625">Max Length</span>**<span class="citation-3620 citation-3621 citation-3622 citation-3623 citation-3624 citation-3625 citation-end-3625">: The maximum number of characters a<sup class="superscript embedded" data-turn-source-index="167"></sup></span><span class="citation-3620 citation-3621 citation-3622 citation-3623 citation-3624 citation-end-3624">llowed.<sup class="superscript embedded" data-turn-source-index="168"></sup></span><span class="citation-3620 citation-3621 citation-3622 citation-3623 citation-end-3623"><sup class="superscript embedded" data-turn-source-index="169"></sup></span><span class="citation-3620 citation-3621 citation-3622 citation-end-3622"><sup class="superscript embedded" data-turn-source-index="170"></sup></span><span class="citation-3620 citation-3621 citation-end-3621"><sup class="superscript embedded" data-turn-source-index="171"></sup></span><span class="citation-3620 citation-end-3620"><sup class="superscript embedded" data-turn-source-index="172"></sup></span>
- **<span class="citation-3615 citation-3616 citation-3617 citation-3618 citation-3619">Rows</span>**<span class="citation-3615 citation-3616 citation-3617 citation-3618 citation-3619 citation-end-3619">: The initial height of the text area in rows/lines.<sup class="superscript embedded" data-turn-source-index="173"></sup></span><span class="citation-3615 citation-3616 citation-3617 citation-3618 citation-end-3618"><sup class="superscript embedded" data-turn-source-index="174"></sup></span><span class="citation-3615 citation-3616 citation-3617 citation-end-3617"><sup class="superscript embedded" data-turn-source-index="175"></sup></span><span class="citation-3615 citation-3616 citation-end-3616"><sup class="superscript embedded" data-turn-source-index="176"></sup></span><span class="citation-3615 citation-end-3615"><sup class="superscript embedded" data-turn-source-index="177"></sup></span>

<p class="callout success"><span class="citation-3615 citation-3616 citation-3617 citation-3618 citation-3619 citation-end-3619">Keep your end-users in mind when designing forms. Leveraging field limitations (like **Max Length** or **Min / Max** dates) proactively prevents data entry errors and saves administrative time later during the review process.</span></p>

---

## <span style="color: rgb(22, 145, 121);"><span class="citation-3610 citation-3611 citation-3612 citation-3613 citation-3614 citation-end-3614">Best Practices and Considerations<sup class="superscript embedded" data-turn-source-index="178"></sup></span><span class="citation-3610 citation-3611 citation-3612 citation-3613 citation-end-3613"><sup class="superscript embedded" data-turn-source-index="179"></sup></span><span class="citation-3610 citation-3611 citation-3612 citation-end-3612"><sup class="superscript embedded" data-turn-source-index="180"></sup></span><span class="citation-3610 citation-3611 citation-end-3611"><sup class="superscript embedded" data-turn-source-index="181"></sup></span><span class="citation-3610 citation-end-3610"><sup class="superscript embedded" data-turn-source-index="182"></sup></span></span>

- <span style="color: rgb(22, 145, 121);">**<span class="citation-3605 citation-3606 citation-3607 citation-3608 citation-3609 citation-end-3609">Choose the right se<sup class="superscript embedded" data-turn-source-index="183"></sup></span><span class="citation-3605 citation-3606 citation-3607 citation-3608">lection tool for the job.</span>**<span class="citation-3605 citation-3606 citation-3607 citation-3608"> Use a </span>**<span class="citation-3605 citation-3606 citation-3607 citation-3608">Radio Group</span>**<span class="citation-3605 citation-3606 citation-3607 citation-3608"> for single-choice questions with few options. Use a </span>**<span class="citation-3605 citation-3606 citation-3607 citation-3608">Checkbox Group</span>**<span class="citation-3605 citation-3606 citation-3607 citation-3608 citation-end-3608"> for multiple-<sup class="superscript embedded" data-turn-source-index="184"></sup></span><span class="citation-3605 citation-3606 citation-3607">choice questions. Use a </span>**<span class="citation-3605 citation-3606 citation-3607">Select Menu</span>**<span class="citation-3605 citation-3606 citation-3607 citation-end-3607"> when you have many options to present in order to save valuable screen space.<sup class="superscript embedded" data-turn-source-index="185"></sup></span><span class="citation-3605 citation-3606 citation-end-3606"><sup class="superscript embedded" data-turn-source-index="186"></sup></span><span class="citation-3605 citation-end-3605"><sup class="superscript embedded" data-turn-source-index="187"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-3602 citation-3603 citation-3604 citation-end-3604">Ensure data integrity by<sup class="superscript embedded" data-turn-source-index="188"></sup></span><span class="citation-3602 citation-3603"> selecting the appropriate type.</span>**<span class="citation-3602 citation-3603"> When using a </span>**<span class="citation-3602 citation-3603">Text Field</span>**<span class="citation-3602 citation-3603">, always select the appropriate </span>**<span class="citation-3602 citation-3603">Type</span>**<span class="citation-3602 citation-3603"> (e.g., </span>**<span class="citation-3602 citation-3603">Email</span>**<span class="citation-3602 citation-3603">, </span>**<span class="citation-3602 citation-3603">Tel</span>**<span class="citation-3602 citation-3603 citation-end-3603">). This helps validat<sup class="superscript embedded" data-turn-source-index="189"></sup></span><span class="citation-3602 citation-end-3602">e the input and provides a muc<sup class="superscript embedded" data-turn-source-index="190"></sup></span>h bett<span class="citation-3600 citation-3601 citation-end-3601">er user experience by triggering a specialized keyboard on mobile devices.<sup class="superscript embedded" data-turn-source-index="191"></sup></span><span class="citation-3600 citation-end-3600"><sup class="superscript embedded" data-turn-source-index="192"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-3598 citation-3599">Structure your form clearly.</span>** **<span class="citation-3598 citation-3599">Use Header and Paragraph fields to structure your form.</span>**<span class="citation-3598 citation-3599 citation-end-3599"> Breaking up long forms with clear headings and instructional paragraphs improves readability and s<sup class="superscript embedded" data-turn-source-index="193"></sup></span><span class="citation-3598 citation-end-3598"><sup class="superscript embedded" data-turn-source-index="194"></sup></span>ubmission accuracy.</span>

# 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>