Forms

Feed Your CRM Automatically

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:

  • Forms are a first-class content type, built and published the same way as any other page.
  • Every submission becomes a structured Form Response, automatically linked to a Customer record in the CRM when the submitter can be identified (or matched/created).
  • Coordinators can browse responses by form, by folder, or by the customer they belong to — no more digging through email.
  • Because form data lives in the same platform as customer, order, and membership data, a form submission instantly becomes part of that person's full relationship history.

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.

Why This Matters for Your Organization

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.


Technical Details

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.
  • Backstage UI for reviewing submissions (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.
  • Because 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.



Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.