Skip to main content

About Item Type Action Form Policies

Item Type Action Form Policies control the design and behavior of user interface forms in EmpowerID. These policies use JSON to define form layouts, field elements, and functionality, allowing organizations to customize forms for different user actions and resource types without modifying core system functionality.

This article explains what Item Type Action Form Policies are, how they work, and how they are structured.

What Are Item Type Action Form Policies?

Item Type Action Form Policies define how UI forms appear and behave when users perform specific actions on specific resource types. Each policy combines three elements:

ElementDescriptionExample
Action TypeThe operation being performedEdit, Create, View
Item TypeThe resource type being acted uponPerson, Group, Account
Form ConfigurationJSON defining the form's layout and fieldsField types, validation, layout

For example, when an administrator edits a person's attributes:

  • The action type is Edit
  • The item type is Person
  • The applied policy is the Edit Person Item Type Action Form Policy

Use Cases

Item Type Action Form Policies enable you to:

  • Customize form fields — Make fields required, read-only, or hidden
  • Create role-specific forms — Show different fields to different user groups (e.g., employees vs. contractors)
  • Apply conditional layouts — Display forms based on roles, locations, or group memberships
  • Add validation — Enforce data formatting with regex patterns

JSON Structure

EmpowerID uses a row-based JSON structure to configure form policies. The two primary objects are dynamicFields (form layout) and accessDetails (related data).

dynamicFields Object

The dynamicFields object defines the form layout using rows, with each row containing one or more fields.

Basic Row Structure

{
"dynamicFields": {
"Row1": [{
"width": 50,
"localeKey": "Role",
"fieldName": "primaryOrgRoleId",
"fieldType": "tree",
"apiUrl": "/api/lookups/businessrolestree",
"required": true
},
{
"width": 50,
"localeKey": "Location",
"fieldName": "primaryOrgZoneId",
"fieldType": "tree",
"apiUrl": "/api/lookups/businesslocationstree",
"required": true
}]
}
}

In this example, Row1 contains two fields (Role and Location), each occupying 50% of the row width.

Row with two fields

Subcolumns

Fields within a row can be further divided using subcolumns:

{
"Row2": [{
"width": 50,
"required": true,
"subColumn": [
{
"width": 70,
"localeKey": "FirstName",
"fieldName": "firstName",
"fieldType": "text"
},
{
"width": 30,
"localeKey": "Infix",
"fieldName": "title",
"fieldType": "text"
}
]
}]
}

This creates a row where the first 50% is subdivided into First Name (70%) and Title (30%).

Row with subcolumns

accessDetails Object

The accessDetails object specifies related data to display on the form:

{
"accessDetails": {
"apiEndPoint": "/api/applications",
"friendlyName": "Applications",
"type": "Application"
}
}

Access details section


Field Configuration

Common Field Attributes

AttributeDescriptionRequired
widthPercentage of row width (1-100)Yes
fieldTypeType of form elementYes
fieldNameData property linked to the fieldYes
localeKeyLabel text (supports localization)Yes
requiredMakes the field mandatoryNo
disabledMakes the field read-onlyNo
apiUrlData source for dropdowns and treesConditional
validationRegexRegex pattern for input validationNo
validationMessageError message for validation failuresNo

Supported Field Types

Field TypeDescriptionExample
textStandard text input{"fieldType": "text"}
dropdownSingle-selection dropdown{"fieldType": "dropdown", "apiUrl": "/api/fetchOptions"}
multiSelectedDropdownMultiple-selection dropdown{"fieldType": "multiSelectedDropdown", "apiUrl": "/api/fetchOptions"}
treeHierarchical selection{"fieldType": "tree", "apiUrl": "/api/fetchTree"}
phoneWithCountryCodePhone number with country code{"fieldType": "phoneWithCountryCode", "countryCode": "+1"}

Example: Edit Person Form

The Edit Person form in Resource Admin demonstrates how Item Type Action Form Policies customize the interface.

Edit Person form

This form is defined by the Edit Person Item Type Action Form Policy, which specifies:

  • Row layout with Role and Location tree selectors
  • Personal information fields with subcolumn layouts
  • Required field indicators
  • Read-only fields where appropriate
  • An access details section showing related applications