Configuring Service Catalog Forms and Fields
Service Catalog forms let you collect structured information from employees when they submit requests. By configuring fields carefully - including field types, visibility rules, and who fills in what - you can reduce back-and-forth, improve ticket quality, and route requests more accurately.
This article covers how to configure Service Catalog form fields, including attachment fields, desk-member-filled fields, and conditional logic rules.
Adding and Configuring Form Fields
Each Service Catalog form can include multiple fields to capture the information your team needs. When building or editing a form, you can configure each field with the following options:
Field type - Choose from text, dropdown, attachment, and other supported input types.
Label and description - Give each field a clear name and, optionally, a description to guide the submitter.
Required or optional - Mark fields as mandatory to ensure employees provide the information before submitting, or leave them optional.
To access form configuration, navigate to Settings > Service Catalog, select the relevant catalog item, and open its form editor.
Attachment Fields
You can add an attachment field to any Service Catalog form, allowing employees to upload one or more files as part of their request. Attachment fields are fully supported across Slack, the Employee Portal, and Microsoft Teams.
Adding an Attachment Field
Open the form editor for the relevant catalog item.
Add a new field and select Attachment as the field type.
Configure the following options:
Required / Optional
Mark the field as mandatory if the attachment is needed before the request can proceed, or leave it optional.
Button label
Customize the label on the upload button to give employees clear context - for example, "Upload your invoice" or "Attach screenshot".
Description
Add a description to communicate expected file formats, size limits, or any other guidance relevant to the upload.
Save your changes.
Employees will see the configured upload button and description when filling out the form, regardless of which supported channel they use.
Desk-Member-Filled Fields
Some fields are best completed by your IT desk team rather than the person submitting the request. For example, an asset assignment field may only be relevant once a desk member reviews the ticket. You can mark specific fields as "filled by desk member" so employees are not blocked from submitting their request when those fields are empty.
How It Works
Any form field - including required fields - can be individually flagged as filled by desk member.
When a field is flagged this way, employees can submit their request without completing that field.
After the ticket is created, desk members can open the ticket and fill in those fields directly.
Configuring a Field as Desk-Member-Filled
Open the form editor for the relevant catalog item.
Select the field you want to configure.
Enable the Filled by desk member option for that field.
Save your changes.
Employees submitting a request will not be prompted to complete desk-member-filled fields, even if those fields are otherwise marked as required. Desk members retain full ability to update these fields on any existing ticket.
Conditional Logic
Conditional logic allows you to show, hide, or require fields based on the values that employees enter in other fields. This creates a more focused, relevant experience by surfacing only the fields that apply to each specific request.
How Conditional Logic Is Evaluated
Conditional rules are evaluated by the platform in real time - directly in the form interface - before any AI processing occurs. This means:
Fields appear or hide instantly as employees fill out the form, without any delay.
Routing rules and branching logic respond immediately to user input.
The experience is smooth and responsive across all supported channels.
Condition Types
You can configure the following conditional rules on any field:
SHOW
The field is only visible when a specified condition is met.
HIDE
The field is hidden when a specified condition is true.
REQUIRE
The field becomes mandatory when a specified condition is met.
Validation at Ticket Submission
When a ticket is submitted, Harmony evaluates all conditional field logic in real time against the actual values provided. This ensures the rules you configure behave correctly end-to-end, not just within the form settings interface.
The following validation rules apply at submission:
SHOW rules - If a field is only visible when a condition is met and that condition is not met, any value submitted for that hidden field will be flagged as invalid.
HIDE rules - If a field is hidden because a condition is true, any submitted value for that field will be rejected.
REQUIRE rules - Required conditions are enforced based on the actual submitted values, ensuring mandatory fields are completed when their conditions are triggered.
This end-to-end validation prevents inconsistent or unexpected data from reaching your team, keeping ticket quality high.
Setting Up Conditional Logic
Open the form editor for the relevant catalog item.
Select the field you want to apply a condition to.
Choose the condition type - SHOW, HIDE, or REQUIRE.
Define the condition by selecting the source field and the value that triggers the rule.
Save your changes.
You can add multiple conditions to a single field as needed. Test your form after saving to confirm fields appear, hide, and become required as expected.
Best Practices
Use desk-member-filled fields for information only your IT team can provide - such as asset assignments, internal codes, or approval-related data - to avoid blocking employees from submitting requests.
Add descriptions to attachment fields to set clear expectations around file types and sizes.
Keep conditional logic focused and predictable. Avoid deeply nested conditions that may be difficult to maintain or test.
After making changes to conditional logic, always submit a test request to verify that SHOW, HIDE, and REQUIRE rules behave as intended from the employee's perspective.
Last updated
Was this helpful?
