Custom fields come in different types, each suited to specific kinds of data. Choose the right type to ensure data consistency and enable proper filtering.
Text fields
Single-line text
Best for: Short text values without predefined options.
Examples:
- Preferred name
- Employer name
- Pet’s name
Configuration:
- Max length (optional)
- Placeholder text (optional)
Behavior:
- Accepts any text
- Case-sensitive
- Trims leading/trailing spaces
Long text (textarea)
Best for: Longer descriptions, notes, or multi-line content.
Examples:
- Investment philosophy
- Special instructions
- Meeting notes template
Configuration:
- Max length (optional)
- Number of rows to display
Behavior:
- Supports multiple lines
- Preserves line breaks
- No formatting (plain text)
Number fields
Number
Best for: Numeric values without currency formatting.
Examples:
- Years as client
- Number of accounts
- Age at retirement
Configuration:
- Minimum value (optional)
- Maximum value (optional)
- Decimal places (0-4)
Behavior:
- Accepts only numbers
- Can be negative (unless minimum is set)
- Supports decimals
Currency
Best for: Money amounts.
Examples:
- Target AUM
- Annual fee
- Insurance coverage amount
Configuration:
- Currency symbol ($, €, £, etc.)
- Decimal places (typically 2)
- Minimum/maximum values
Behavior:
- Displays with currency symbol
- Formats with thousands separators
- Stores as decimal number
Percentage
Best for: Percentage values.
Examples:
- Equity allocation target
- Annual return goal
- Commission rate
Configuration:
- Decimal places
- Allow > 100% (optional)
Behavior:
- Displays with % symbol
- Stores as decimal (50% = 0.5)
- Validates range by default (0-100)
Date and time
Date
Best for: Calendar dates.
Examples:
- Review date
- Policy renewal date
- Anniversary
Configuration:
- Date format display
- Allow past dates
- Allow future dates
Behavior:
- Date picker interface
- Stores in standard format
- Timezone independent
Date and time
Best for: Specific moments in time.
Examples:
- Last contact timestamp
- Appointment time
- Deadline
Configuration:
- Date and time format
- Timezone handling
Behavior:
- Date and time picker
- Timezone aware
- Stores in UTC
Selection fields
Dropdown (single-select)
Best for: Choosing one option from a predefined list.
Examples:
- Risk tolerance (Conservative, Moderate, Aggressive)
- Relationship status (Single, Married, Divorced)
- Lead source (Referral, Web, Event)
Configuration:
- Option list (values users can choose)
- Default value (optional)
- Allow custom/other (optional)
Behavior:
- Users pick one option
- Consistent data for filtering
- Can’t select multiple
Multi-select
Best for: Choosing multiple options from a list.
Examples:
- Services used (Planning, Tax, Insurance, Estate)
- Investment interests (Stocks, Bonds, Real Estate, Crypto)
- Communication preferences (Email, Phone, Text)
Configuration:
- Option list
- Maximum selections (optional)
- Minimum selections (optional)
Behavior:
- Users can select multiple
- Displays as tags/pills
- Filter by any or all selected
Best for: Small number of mutually exclusive options.
Examples:
- Yes/No/Unknown
- Primary/Secondary/Tertiary
- Active/Inactive
Configuration:
- Options (typically 2-5)
- Default selection
Behavior:
- All options visible
- One must be selected
- Good for 3-5 options
Boolean fields
Checkbox
Best for: True/false, yes/no values.
Examples:
- Accredited investor
- Receives newsletter
- Has estate plan
Configuration:
- Default value (checked/unchecked)
- Label text
Behavior:
- Simple on/off toggle
- Stores as true/false
- Easy to filter by
Toggle
Best for: Same as checkbox, different visual style.
Configuration:
- Same as checkbox
- Different visual presentation
Behavior:
- Same as checkbox
- More prominent on/off visual
Email
Best for: Email addresses beyond the standard fields.
Examples:
- Assistant email
- Alternate email
- Business email
Configuration:
Behavior:
- Validates email format
- Clickable mailto: link
- Prevents invalid entries
Phone
Best for: Phone numbers beyond standard fields.
Examples:
- Vacation home
- Assistant direct line
- International number
Configuration:
- Format display
- Country code handling
Behavior:
- Formats consistently
- Clickable tel: link
- Validates format
URL
Best for: Web links.
Examples:
- LinkedIn profile
- Company website
- Portfolio dashboard
Configuration:
- Require https
- Open in new tab
Behavior:
- Validates URL format
- Clickable link
- Can open in new tab
Choosing the right type
Decision guide
| If you need… | Use this type |
|---|
| Free-form short text | Single-line text |
| Free-form long text | Long text |
| A number | Number |
| Money amount | Currency |
| A percentage | Percentage |
| A date | Date |
| One choice from options | Dropdown |
| Multiple choices from options | Multi-select |
| Yes/no value | Checkbox |
| Email address | Email |
| Phone number | Phone |
| Web link | URL |
When to use dropdown vs text
Use dropdown when:
- Options are known and limited
- Consistency is important
- You’ll filter by this field
- Reporting requires exact values
Use text when:
- Values are unpredictable
- Users need flexibility
- Options would be too numerous
- Free-form is acceptable
Use multi-select custom field when:
- Options are specific to this field
- You need to enforce specific choices
- Values won’t change often
Use the tags feature when:
- Same tags apply across records
- Tags are more organizational
- You need flexibility to add new tags
Field validation
Built-in validation
| Field type | Validates |
|---|
| Email | Valid email format |
| Phone | Valid phone format |
| URL | Valid URL format |
| Number | Numeric values only |
| Currency | Valid currency format |
| Date | Valid date format |
Custom validation
For additional validation:
- Set min/max for numbers
- Require selection for dropdowns
- Set character limits for text
- Mark fields as required
Changing field types
Changing a field type may cause data loss if existing values don’t convert to the new type.
Safe conversions:
- Text → Long text
- Dropdown → Multi-select (adds multi-select capability)
Risky conversions:
- Number → Text (loses numeric properties)
- Multi-select → Dropdown (may lose values)
- Any type → Different type (review data first)
Next steps