Get Started

Forms & Lists

Build dynamic per-department ticket forms with custom fields, validation, and reusable dropdown lists. Plus the Custom Lists module for shared option sets.

Overview

By default, the new-ticket form has a fixed set of fields: name, email, subject, message, department. Custom Forms let you go further — you can build forms with additional fields, change field order, set required validations, and assign different forms to different departments. This ensures you collect the right details upfront, reducing back-and-forth with customers.

Custom Lists are reusable dropdown and option lists you define once and reference from any form field. They live in their own module (also under Departments → Lists) and are independent of any single form.

Field Types

Each field in a custom form can be one of the following types:

Field TypeDescriptionExample Use
TextSingle-line text input for short answersOrder number, account ID, website URL
MemoMulti-line textareaAdditional context, error details
PhonePhone number input with formattingCallback number, contact phone
DateDate picker with calendar UIDate of incident, subscription start
DropdownSelect one option from a list; can use a Custom List as the sourceIssue type, product category, OS
ListMulti-select list backed by a Custom ListAffected services, selected features
CheckboxToggle (single) or multi-choice"I agree to the terms", "Include attachments"
File UploadFile attachment inputScreenshots, log files, contracts
Dropdown vs. List: Use Dropdown when the customer should pick exactly one option. Use List when multiple selections are allowed. Both can reference a Custom List as their data source.

Creating a Custom Form

Forms are managed at Deskuss → Departments → Forms in the staff control panel.

1

Click "Add New Form"

Name the form (e.g., "Technical Support Form").

2

Add fields

For each field, choose a type, set a label, optionally set a placeholder, and choose whether it's required. Drag fields to reorder.

3

Assign to departments

Open the form's Departments tab and tick the departments that should use this form. A department can only have one form at a time, so unassign the old one if you're swapping.

4

Save

The form is now live on the client portal. New tickets opened against an assigned department will show this form's fields.

Required Field Validation

Every field can be marked as Required:

Core fields are always required. The five core fields — Name, Email, Subject, Message, and Department — cannot be removed or made optional. Custom fields you add can be toggled between required and optional.

Per-Type Validation

In addition to the required toggle, each field type has its own validation:

TypeValidation
EmailMust match RFC 5322 format
PhoneAuto-formatted to international format if a country is configured
DateMust be a valid date in the past (or future, depending on field config)
File UploadFile extension must be in the allow-list; size below the configured limit
NumberMust be numeric; min/max bounds enforced if configured

Custom Lists

Custom Lists are reusable option sets. Define once, reference from any form's dropdown or list field. They live at Deskuss → Departments → Lists.

Why Use Custom Lists?

Without lists, every dropdown's options are stored in the form. If you change "iPhone" to "Apple iPhone" in one form, you have to change it everywhere. With a list, you update the list once and every form that uses it gets the new label.

Example Lists

Creating a Custom List

1

Open Departments → Lists

Click Add New List.

2

Name the list

Pick a clear, descriptive name (e.g., "Operating Systems").

3

Add items

Each item has a Value (internal, used in API responses) and a Label (displayed to the customer). They're often the same but can differ — e.g., value win, label "Microsoft Windows".

4

Sort the items

Drag items in the order they should appear in the dropdown. Sort once, applies everywhere.

5

Save

The list is now available as a data source for any dropdown or list field.

Using a List in a Form Field

  1. Open the form
  2. Add a Dropdown or List field
  3. In the field's Data Source, select the Custom List
  4. Save

Per-Department Form Assignment

Forms are assigned at the department level, not the global level. A department can have at most one form. When a customer picks a department on the portal, Deskuss renders that department's form (or the default form if no custom one is assigned).

Swapping a Form

To replace a department's form:

  1. Open the new form and assign it to the department
  2. The old form is automatically unassigned (since the department can only have one)
  3. Open the old form and either delete it or leave it for use by other departments

Sharing Forms Across Departments

The same form can be assigned to multiple departments. Common pattern: a single "Contact Form" used by Support, Billing, and Sales; a separate "Technical Form" used only by the Technical department.

Forms on the Client Portal

When a customer opens a new ticket, the portal shows:

  1. The five core fields (Name, Email, Subject, Message, Department) — always present
  2. The custom form's additional fields — only the ones assigned to the chosen department

Field order in the form matches the order set in the form editor. The customer never sees admin-only fields or internal notes.

Data in Ticket Detail View

When a ticket with custom-form data is viewed in the staff control panel, the form's data appears in the Ticket Details panel. Each field's label and value is shown in the same order as in the form.

Custom-field data is searchable. Use the advanced search at Tickets → Search to filter by a specific custom-field value.

Editing a Field After Launch

You can rename, retype, or change the required/optional state of a field after tickets have been created with it. Existing tickets keep the data they were created with; new tickets use the updated field definition.

You cannot delete a field that has data on existing tickets. Deskuss will warn you when you try. To remove a field without losing historical data, mark it Disabled instead — it stays in the data model but is hidden from the form.

Limits

Roadmap

Conditional logic ("show field X only if field Y is set to Z") and multi-page forms are on the roadmap. Until then, use the disabled state to keep fields visible but not interactive, and rely on the customer's department choice to swap entire forms.