AutoBridge

Entity Builder


The Entity Builder is the foundational tool for creating data structures in GovAssist. Entities are custom data containers — think of them as your own database tables. Everything else in the platform (forms, automations, views) is built on top of entities you define here.

What You Can Build

FeatureDescription
EntitiesCustom data containers (e.g., "Building Permits", "Inspections")
28+ Field TypesText, numbers, dates, files, associations, and more
SectionsLogical groupings of related fields
Folder HierarchyNested folders to organize entity libraries
AssociationsRelationships between entities
Formula FieldsAuto-computed values from other fields

Before You Start

To use Entity Builder, you need:

  • CREATE and UPDATE permissions on the ENTITY resource
  • Access to the Entity Manager module
  • A clear understanding of the data your solution requires

Section 1: Entity Fundamentals

What is an Entity?

An entity is a data container representing a real-world object or concept in your organization.

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

Entity Structure

ComponentDescription
SettingsName, label, description, icon
SectionsLogical groupings of fields
FieldsIndividual data inputs within sections
FormsData entry interfaces built on entity fields
ViewsGrid, Kanban, or Dashboard display configurations

Creating an Entity

1

Open Entity Manager

Navigate to Entity Manager from the sidebar.

2

Create a New Entity

Click + New Entity, or right-click a folder and select New Entity.

3

Fill in Entity Details

Enter the entity settings:

SettingDescriptionRequired
NameInternal identifier (used in APIs/code)Yes
LabelDisplay name shown in the UINo (defaults to name)
DescriptionPurpose documentationNo
FolderParent folder for organizationNo
4

Save

Click Create to save the entity and begin adding fields.


Section 2: Field Types Reference

Entity Builder supports 28 field types grouped into categories.

Text & Content Fields

Field TypeKeyUse Case
TexttextNames, titles, IDs
TextareatextareaDescriptions, notes
Rich TextrichtextFormatted documentation
EmailemailContact emails
URLurlExternal links
PhonephoneContact numbers

Numeric Fields

Field TypeKeyUse Case
NumbernumberQuantities, amounts
FormulaformulaAuto-calculated values
PaymentpaymentFee collection

Number field units:

UnitSymbolPosition
Dollar$Left or Right
EuroLeft or Right
Pound£Left or Right
Percentage%Left or Right
Customuser-definedLeft or Right

Enable allowIncrementDecrement on number fields to show +/- buttons for quick adjustments — useful for quantity fields on applications.

Date & Time Fields

Field TypeKeyUse Case
DatedateDue dates, birthdays
Date Rangedate_rangeProject periods
TimetimeAppointment slots
Time Rangetime_rangeBusiness hours

Date format options:

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

Selection Fields

Field TypeKeyUse Case
DropdowndropdownStatus, category
ComboboxcomboboxLarge searchable option lists
RadioradioYes/No/Maybe
CheckboxcheckboxTags, multi-select features
BooleanbooleanOn/Off toggles, flags

Selection fields require at least 2 options to save. Enable color_code_options to assign a badge color to each option — highly recommended for status fields.

File & Media Fields

Field TypeKeyUse Case
FilefileDocument/attachment uploads
ImageimagePhotos, logos
SignaturesignatureDigital signature capture

File restriction settings:

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

Relationship Fields

Field TypeKeyUse Case
AssociationassociationCross-entity relationships (Permit → Contractor)
UseruserUser assignment (Assigned Inspector)

Association configuration:

SettingDescription
reference.entity_idID of the target entity
reference.aliasDisplay alias
reference.fieldsLookup fields to display
associatedFormFieldFields shown in the lookup popup

Association lookup fields only support: text, number, email, textarea, formula. The association, file, and image field types cannot be used as lookup fields.

Special Fields

Field TypeKeyUse Case
LocationlocationAddress or coordinates
APOapoAddress, Parcel, Owner (GIS lookup)
JSONjsonStructured JSON data
Output Fieldoutput_fieldRead-only computed display
Repeatable Grouprepeatable_groupMultiple entries of the same fields (e.g., multiple contacts)

Section 3: Field Configuration

General Settings

Every field supports these base settings:

SettingDescriptionRequired
LabelDisplay nameYes
NameInternal key (auto-generated from label)Auto
DescriptionHelp text shown below the fieldNo
PlaceholderInput placeholder textNo
Default ValuePre-filled valueNo

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 a database index for faster queries

Protected & Private Fields

FlagDescription
is_protectedSystem field — cannot be deleted
is_privateHidden from certain users or views

Section 4: Sections

Sections group related fields within an entity, providing logical organization and improving UX when viewing or editing records.

Section Settings

SettingValidation
TitleMax 50 characters; letters, numbers, spaces, apostrophes, parentheses, brackets, ampersand
OrderInteger 1–1000

Every entity includes a default section (ID: default-section). New fields are added here unless you specify otherwise.

Managing Sections

1

Add a Section

Click + Add Section or drag the Section component into the entity canvas.

2

Name It

Enter a section title (e.g., "Property Information", "Applicant Details").

3

Add Fields

Drag fields into the section from the field palette.

4

Reorder

Use drag-and-drop to reorder sections, fields, or rows within a section.


Section 5: Folder Organization

Creating Folders

1

Open Context Menu

Right-click in the entity list panel.

2

New Folder

Select New Folder and enter a name.

3

Nest (Optional)

Select a parent folder to create a nested structure.

Moving Entities

Drag and drop entities into folders, or right-click an entity and select Move to Folder.

Example folder hierarchy:

Level 1Level 2Entities
Permitting
ApplicationsBuilding Permits, Fire Permits, Zoning Permits
InspectionsBuilding Inspections, Fire Inspections
Licensing
Business Licenses, Contractor Licenses
System
Permit Menu, Fee Schedule

Section 6: Formula Fields

Formula fields auto-compute values based on other fields in the entity.

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

Supported operators:

OperatorDescription
+Addition
-Subtraction
*Multiplication
/Division

Formulas can reference fields in the same entity or fields from associated entities via reference_field. Place formula fields after their source fields for clarity.


Section 7: Permitting Solution Patterns

Recommended 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

Common Field Patterns

Status field (dropdown):

SettingValue
Typedropdown
OptionsSubmitted, Under Review, Approved, Denied, Expired
Color-codedYes
Show as badgeYes

Permit number (text):

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

Property address (APO):

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

Application date (date):

SettingValue
Typedate
DefaultCurrent date
Formatus
Show timeNo

Entity Relationship Pattern

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

Section 8: Best Practices

Naming Conventions

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

Field Organization

Recommended Field Order

  1. Identification first — permit number, record ID at the top
  2. Group by category — use sections for logical grouping
  3. Required fields prominent — put required fields early in each section
  4. Calculated fields last — place formula fields after their source fields

Performance Tips

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

Section 9: Troubleshooting

IssueCauseSolution
Cannot delete fieldField is protectedCheck if it's a system field (is_protected)
Duplicate key errorField name already existsRename the field
Options not savingFewer than 2 optionsAdd at least 2 options
Formula not calculatingReference field missing or renamedVerify field names match exactly
File upload failsSize exceeds limitCheck maxSizeValue and maxSizeUnit settings

Validation errors:

ErrorFix
"Section title too long"Max 50 characters
"Invalid characters"Use only allowed characters (letters, numbers, spaces, punctuation listed above)
"Duplicate option label"Make each option label unique
"Entity ID required"Select the target entity for the association

Related Pages


Aligned with entity-manager-app codebase as of January 2026.