CRM Factory logoCRM Factory

Custom Fields

Define custom fields and configure form layouts for each entity type.

Custom fields let you extend CRM Factory's data model without code. Fields are stored as JSONB and are available in the API, search, and exports.

Go to Settings → Custom Fields (admin access required).

Supported Entities

Custom fields can be added to:

  • Accounts — Company-level attributes
  • Contacts — Person-level attributes
  • Leads — Pre-qualification attributes
  • Opportunities — Opportunity-level attributes
  • Cases — Support ticket attributes

Switch between entities using the tabs. Each tab shows a count of defined fields.

Creating a Field

Click Add Field and fill in:

SettingDescription
Entity TypeWhich entity this field belongs to
Field KeyLowercase snake_case identifier (e.g., contract_type). Cannot be changed after creation.
LabelDisplay name shown in forms and tables
Data TypeText, Long Text, Number, Currency, Date, Checkbox, Picklist, URL, or Email
Picklist OptionsComma-separated values (only for Picklist type)
Default ValuePre-filled value for new records
RequiredWhether the field must be filled when creating/editing a record
DescriptionHelp text shown below the field

Field Data Types

TypeStorageExample
TextString"Enterprise"
Long TextString (multiline)"Detailed notes about..."
NumberNumeric42
CurrencyNumeric1500.00
DateISO date string"2026-04-15"
CheckboxBooleantrue / false
PicklistString (constrained)"Gold" from ["Bronze", "Silver", "Gold"]
URLString (validated)"https://example.com"
EmailString (validated)"user@example.com"

Editing and Deleting

  • Click the edit icon to modify a field's label, options, default value, required status, or description. The field key and data type cannot be changed.
  • Click the delete icon to remove a field definition. Existing data in records is not affected (the JSONB key remains but is no longer displayed).

Form Layouts

Custom fields appear in record forms based on field layouts. Layouts define which fields appear, their grouping into sections, and column arrangement (1-4 columns per section).

Layouts can be configured at two scopes:

  • Org-level — Default layout for all users
  • User-level — Personal override per user

Use the API (PUT /api/v1/field-layouts) to save layouts, or configure them through the record detail form's field picker.

API Access

Custom field values are stored in the custom_fields JSON object on each record:

{
  "id": "...",
  "name": "Acme Corp",
  "custom_fields": {
    "contract_type": "Enterprise",
    "renewal_date": "2026-12-01",
    "tier": "Gold"
  }
}

When creating or updating records via the API, pass custom field values in the custom_fields object.

On this page