A contact form is only useful if the information it collects actually goes somewhere useful.
The pain it solves: Many form-builder tools dump submissions into an inbox or a disconnected spreadsheet, disconnected from your actual customer records.
How it helps:
The happy workday: A visitor fills out a form, and staff see it exactly where they already look for that person's information — no copy-pasting between systems.
Connecting forms directly to the CRM turns every inquiry, sign-up, or registration into usable relationship data instead of an isolated email notification that's easy to lose track of.
The Form module is built around several cooperating models in ExireNexus.Shared/Models: FormItem (the published form definition), FormSettings, FormResponse, and FormResponseValue (individual field answers), served by FormItemService (ExireNexus.Services/Services/FormItemService.cs).
Key implementation points:
FormResponse carries a CustomerId reference (added via the FormResponseCustomerIdMigration), directly linking every submission to the CRM's Customer entity rather than storing submitter details as disconnected free text.FormItem extends the platform's content model conventions, meaning forms are authored, categorized, and published the same way as other Item content — no separate form-hosting system.ExireNexus.Backstage/Components/Editors/Forms/FormResponseList.razor) groups responses into folders, giving coordinators a familiar way to triage volume without needing to leave the platform.FormResponseValue stores individual field answers relationally (rather than as an opaque JSON blob), responses remain queryable and reportable — for example, filtering all responses where a specific field matches a value.By linking directly into the existing Customer entity instead of creating a standalone forms-and-leads database, the Form module keeps the CRM as the single source of truth for every person the organization interacts with.