AutoBridge

Entity Builder - Configuration Guide


Overview

Entity Builder is the foundational module for creating data structures in the GovAssist platform. Entities are the containers that hold your data—think of them as custom database tables. Before you can build forms, create automations, or configure views, you must first define your entities and their fields.

Entity Builder Capabilities

FeatureDescription
Entity CreationDefine custom data containers (e.g., "Building Permits", "Inspections")
Field ConfigurationAdd 28+ field types with validation, defaults, and formatting
Section OrganizationGroup related fields into logical sections
Folder HierarchyOrganize entities in nested folder structures
Field RelationshipsCreate associations between entities
Computed FieldsAdd formula fields for automatic calculations

Prerequisites

Before configuring entities, ensure:

  • User has CREATE and UPDATE permissions on ENTITY resource
  • User has access to Entity Manager module
  • Understanding of data requirements for your solution

Section 1: Entity Fundamentals

1.1 What is an Entity?

An Entity is a data container that represents a real-world object or concept in your organization. Examples:

EntityPurposeExample Fields
Building PermitTrack permit applicationspermit_number, property_address, status
InspectionRecord inspection resultsinspection_date, inspector, result
ContractorStore contractor informationcompany_name, license_number, contact
Fee ScheduleDefine fee structuresfee_type, amount, effective_date

1.2 Entity Structure

ComponentDescriptionContains
EntityTop-level containerSettings, Sections, Forms, Views
SettingsEntity configurationname, description, icon
SectionsField groupingsOne or more sections
SectionLogical field groupMultiple fields (e.g., "Basic Information" with text, dropdown, date fields)
FormsData entry interfacesBuilt on entity fields
ViewsDisplay configurationsGrid, Kanban, Dashboard

1.3 Creating an Entity

  1. Navigate to Entity Manager from the sidebar
  2. Click + New Entity or right-click a folder → New Entity
  3. Enter entity details:
SettingDescriptionValidation
NameInternal identifier (used in code/APIs)Required, unique
LabelDisplay name shown in UIOptional (defaults to name)
DescriptionPurpose documentationOptional
FolderParent folder for organizationOptional
  1. Click Create to save the entity

Section 2: Field Types Reference

The Entity Builder supports 28 field types organized into categories.

2.1 Text & Content Fields

Field TypeKeyDescriptionUse Case
TexttextSingle-line text inputNames, titles, IDs
TextareatextareaMulti-line text inputDescriptions, notes
Rich TextrichtextFormatted text with stylingDetailed documentation
EmailemailEmail with validationContact emails
URLurlWebsite link with validationExternal references
PhonephonePhone number with formattingContact numbers

2.2 Numeric Fields

Field TypeKeyDescriptionUse Case
NumbernumberNumeric input with optional unitsQuantities, amounts
FormulaformulaAuto-computed valuesCalculations, totals
PaymentpaymentPayment information fieldFee collection

Number Field Configuration

Numbers support unit configuration:

UnitDisplayPosition
$DollarLeft or Right
EuroLeft or Right
£PoundLeft or Right
%PercentageLeft or Right
customUser-definedLeft or Right

Additional Options:

  • allowIncrementDecrement: Show +/- buttons for easy adjustment

2.3 Date & Time Fields

Field TypeKeyDescriptionUse Case
DatedateCalendar date pickerDue dates, birthdays
Date Rangedate_rangeStart and end dateProject periods
TimetimeTime of day selectorAppointments
Time Rangetime_rangeStart and end timeBusiness hours

Date Field Configuration

SettingOptionsDescription
show_timetrue / falseInclude time picker
format_dateus, eu, local, friendly, isoDate display format
format_time24_hours, 12_hoursTime display format

Date Format Examples:

FormatExample
us01/15/2026
eu15/01/2026
iso2026-01-15
friendlyJanuary 15, 2026

2.4 Selection Fields

Field TypeKeyDescriptionUse Case
DropdowndropdownSingle select from listStatus, category
ComboboxcomboboxSearchable dropdownLarge option lists
RadioradioSingle visible optionYes/No/Maybe
CheckboxcheckboxMultiple selectionsTags, features
BooleanbooleanYes/No toggleFlags, switches

Selection Field Options

Options require at least 2 entries:

LabelValue
Pendingpending
Approvedapproved
Denieddenied

Display Settings:

SettingDescription
multi_selectAllow multiple selections (dropdown/combobox)
show_as_badgeDisplay as colored badges
color_code_optionsAssign colors to each option

Boolean Field Configuration

Display ModeDescription
switchToggle switch (default)
checkboxTraditional checkbox

2.5 File & Media Fields

Field TypeKeyDescriptionUse Case
FilefileDocument/attachment uploadPDFs, documents
ImageimageImage upload with previewPhotos, logos
SignaturesignatureDigital signature captureApprovals

File Field Restrictions

SettingDescriptionExample
allowedTypesPermitted file extensionsPDF, DOCX, XLSX
maxSizeValueMaximum file size10
maxSizeUnitSize unitKB, MB, GB
maxFilesMaximum number of files5 (empty = unlimited)

Common File Type Presets:

PresetExtensions
Documents.pdf, .doc, .docx, .txt
Spreadsheets.xls, .xlsx, .csv
Images.jpg, .jpeg, .png, .gif
All Files*

2.6 Relationship Fields

Field TypeKeyDescriptionUse Case
AssociationassociationCross-entity relationshipsPermit → Contractor
UseruserUser assignment/referenceAssigned inspector

Association Field Configuration

SettingDescription
reference.entity_idTarget entity ID
reference.aliasDisplay alias
reference.fieldsLookup fields to display
associatedFormFieldFields to show in lookup

Allowed Lookup Field Types:

  • text, number, email, textarea, formula

Excluded from Lookup:

  • association, file, image

User Field Configuration

SettingDescription
user_filter.is_activeEnable user filtering
user_filter.idsSpecific user IDs to include
user_filter.usersUser objects

2.7 Special Fields

Field TypeKeyDescriptionUse Case
LocationlocationAddress/coordinatesProperty location
APOapoAddress, Parcel, Owner (GIS)Property lookup
JSONjsonStructured JSON dataComplex data
Output Fieldoutput_fieldRead-only computed displayCalculated summaries
Repeatable Grouprepeatable_groupRepeatable field groupMultiple contacts

Section 3: Field Configuration

3.1 General Field Settings

Every field supports these base settings:

SettingFieldDescriptionRequired
LabellabelDisplay nameYes
NamenameInternal key (API/code)Auto-generated
DescriptiondescriptionHelp text shown to usersNo
PlaceholderplaceholderInput placeholder textNo
Default Valuedefault_valuePre-filled valueNo

3.2 Validation Rules

ValidationApplies ToDescription
requiredAll fieldsField must have a value
uniqueText, email, numberValue must be unique across records
min_lengthText, textareaMinimum character count
max_lengthText, textareaMaximum character count
min_valueNumberMinimum numeric value
max_valueNumberMaximum numeric value
patternText, emailRegex pattern validation
indexAnyCreate database index

3.3 Protected and Private Fields

FlagDescription
is_protectedSystem field, cannot be deleted
is_privateHidden from certain users/views

Section 4: Section Configuration

4.1 What are Sections?

Sections group related fields within an entity. They provide logical organization and improve the user experience when viewing or editing records.

4.2 Section Settings

SettingDescriptionValidation
TitleSection headingMax 50 chars, alphanumeric + basic punctuation
OrderDisplay sequenceInteger 1-1000

Allowed Characters in Title:

  • Letters (a-z, A-Z)
  • Numbers (0-9)
  • Spaces (no consecutive)
  • Apostrophes, parentheses, brackets, braces, ampersand

4.3 Default Section

Every entity has a default section with ID: default-section

New fields are added to this section unless otherwise specified.

4.4 Creating Sections

  1. Open the entity in Entity Builder
  2. Click + Add Section or drag the Section component
  3. Enter section title
  4. Drag fields into the section

4.5 Reordering Sections and Fields

Use drag-and-drop to reorder:

Drag TypeDescription
SectionMove entire section with its fields
FieldMove field within or between sections
RowMove a row of fields

Section 5: Folder Organization

5.1 Creating Folders

  1. In Entity Manager, right-click the entity list
  2. Select New Folder
  3. Enter folder name
  4. Optionally select a parent folder for nesting

5.2 Moving Entities to Folders

  1. Drag and drop entities into folders
  2. Or right-click entity → Move to Folder

5.3 Folder Hierarchy

Folders support unlimited nesting levels. Example structure:

Level 1Level 2Level 3 (Entities)
Entities
Permitting
Applications: Building Permits, Fire Permits, Zoning Permits
Inspections: Building Inspections, Fire Inspections
Licensing
Business Licenses, Contractor Licenses
System
Permit Menu, Fee Schedule

Section 6: Color Configuration

6.1 Available Colors

The system provides 16 preset colors for badges, statuses, and visual indicators:

ColorHex CodeUse Case
Black/Gray#303132Neutral, default
Orange#F79009Warning, pending
Green#299764Success, approved
Red#B42318Error, denied
Purple#8B5CF6Special, priority
Blue#1D4ED8Information
Light Purple#C084FCAccent
Orange Variant#F97316Highlight
Dark Blue#00235ACorporate
Bright Blue#3B82F6Links, actions
Brown#967668Earthy, historic
Pink#F472B6Creative
Light Green#22C55EPositive
Light Red#F87171Alert
Sky Blue#60A5FACalm
Slate#64748BSubtle
Teal#6EE7B7Fresh

6.2 Applying Colors to Options

For dropdown, radio, and checkbox fields with color_code_options enabled:

  1. Edit the field
  2. Enable Color-code options
  3. Click the color swatch next to each option
  4. Select a color from the palette

Section 7: Formula Fields

7.1 Formula Basics

Formula fields automatically compute values based on other fields.

formula: [
  { is_field: true, field: 'quantity' },
  { is_field: false, field: '*' },        // Operator
  { is_field: true, field: 'unit_price' }
]

7.2 Supported Operations

OperatorDescription
+Addition
-Subtraction
*Multiplication
/Division

7.3 Formula Field References

Formulas can reference:

  • Fields in the same entity
  • Fields from associated entities (via reference_field)

Section 8: Permitting Solution Patterns

8.1 Recommended Entity Structure

For a Permitting solution, create these core entities:

EntityPurposeKey Fields
Permit MenuPortal visibility controlapplication_type, entity_id, form_id, process_id
Building PermitBuilding permit recordspermit_number, property_address, status, applicant
Fire PermitFire permit recordspermit_number, occupancy_type, status
Inspection CodesInspection type definitionscode, description, category
Permit-Inspection MappingLinks permits to inspection typespermit_entity_id, inspection_code_id, calendar_id
ContractorsLicensed contractorslicense_number, company_name, expiration_date

8.2 Common Field Patterns

Status Field (Dropdown)

SettingValue
Fieldstatus
Typedropdown
OptionsSubmitted (submitted), Under Review (under_review), Approved (approved), Denied (denied), Expired (expired)
Color-codedYes
Show as badgeYes

Permit Number (Text)

SettingValue
Fieldpermit_number
Typetext
RequiredYes
UniqueYes
Pattern^[A-Z]{2}-\d{4}-\d{6}$
Placeholdere.g., BP-2026-000001

Property Address (APO)

SettingValue
Fieldproperty_address
Typeapo
DescriptionStart typing to search by address, parcel, or owner

Application Date (Date)

SettingValue
Fieldapplication_date
Typedate
DefaultCurrent date
Formatus
Show timeNo

8.3 Entity Relationship Pattern

EntityRoleAssociation FieldLinks ToDisplay Fields
Building PermitParentinspectionsBuilding Inspectioninspection_date, result, inspector
Building InspectionChildpermitBuilding Permitpermit_number, property_address

Section 9: Best Practices

9.1 Naming Conventions

ElementConventionExample
Entity namesnake_casebuilding_permit
Entity labelTitle CaseBuilding Permit
Field namesnake_casepermit_number
Field labelTitle CasePermit Number
Section titleTitle CaseProperty Information

9.2 Field Organization

  1. Start with identification - Permit number, record ID at the top
  2. Group by category - Use sections for logical grouping
  3. Required fields first - Place required fields prominently
  4. Calculated fields last - Formula fields after their source fields

9.3 Performance Considerations

RecommendationReason
Use indexes on frequently searched fieldsImproves query performance
Limit file upload sizesReduces storage costs
Use dropdowns over text for constrained valuesBetter data quality
Add descriptions to complex fieldsImproves user understanding

Section 10: Troubleshooting

10.1 Common Issues

IssueCauseSolution
Cannot delete fieldField is protectedCheck if system field
Duplicate key errorField name already existsRename the field
Options not savingLess than 2 optionsAdd at least 2 options
Formula not calculatingReference field missingVerify field names
File upload failsSize exceeds limitCheck file restrictions

10.2 Validation Errors

ErrorFieldFix
"Section title too long"SectionMax 50 characters
"Invalid characters"Section titleUse only allowed characters
"Duplicate option label"Dropdown/Radio/CheckboxMake labels unique
"Entity ID required"AssociationSelect target entity

Appendix: Code Reference

Source Files

ComponentPath
Field Typespackages/govt-assist-shared/src/const/fieldTypeConstants.ts
Entity Constantsentity-manager-app/src/const/entityConstants.ts
Field Configurationentity-manager-app/src/components/EntitySidebar/const.ts
Section Validationentity-manager-app/src/pages/Entity/ConfigureEntity/EntityBuilder/validationSchema.ts
Color Optionsentity-manager-app/src/pages/Entity/ConfigureEntity/EntityBuilder/components/EntityBuilderSidebar/const.ts

Query Keys

INVALIDATE_QUERY_KEYS = {
  ENTITY_SECTIONS: 'entity-sections',
  FIELDS: 'fields',
  ENTITY_RECORD: 'entityRecord',
  RECORDS: 'records',
  ENTITY_FIELDS: 'entity-fields',
  GET_ENTITY_LIST: 'get-entity-list',
}

This guide is aligned with the entity-manager-app codebase as of January 2026.