UserHero Docs
Custom Fields

Validation & Requirements

Control when custom fields must be filled — at submission or when resolving

Validation & Requirements

Custom fields support two independent requirement settings that control when a field must be filled in.

Required at Creation

When a field is marked Required at creation, a user cannot submit feedback until that field has a value.

This is enforced in two places:

  • Widget form — the field is shown with a required indicator; the submit button is blocked until it is filled
  • Create Ticket dialog — agents creating a ticket manually must fill the field before saving

Use this when you always need the data attached to every new feedback item. A common example is requiring a user's email address so your team can follow up on every submission.

Required at Resolve

When a field is marked Required at resolve, an agent cannot change a feedback item's status to Resolved until that field has a value.

This is enforced only in the dashboard — it is not checked at widget submission. A user can submit feedback without filling the field; the requirement only applies when an agent tries to close the item.

What happens when an agent tries to resolve: A message appears listing the field names that need to be filled before the status change is allowed. The status does not change until all required-at-resolve fields have values.

Use cases

ScenarioFieldWhy required at resolve
Support teamOrder IDEnsure every resolved ticket has a linked order reference
Product teamRoot causeCategorize the issue type before marking it done
QA teamFix versionRecord which release contained the fix
Sales teamOutcomeLog the result (won / lost / churned) before archiving

Combining both settings

A field can have both settings enabled at the same time:

  • Required at creation ensures the data is captured upfront when possible
  • Required at resolve provides a safety net — if a ticket arrives through a channel that bypassed the widget form (e.g. via the REST API or inbound email), the field must still be filled before the item can be closed

Configuration

Both settings are configured per field in Project Settings > Custom Fields:

  1. Open the field you want to configure (or create a new one)
  2. Enable Required at creation to block widget submission and ticket creation without a value
  3. Enable Required at resolve to block the Resolved status until the field is filled
  4. Save the field

Changes take effect immediately for all widgets and agents in the project.

Next Steps

On this page