Custom Fields
Create powerful custom fields to capture additional idea data
Custom fields extend the default idea structure with additional data points. From simple text fields to calculated formulas, custom fields help you capture and organize the information that matters to your workflow.
Field Types Overview
UserVote supports 15+ field types:
| Type | Description | Example Use |
|---|---|---|
| INTEGER | Whole numbers | Priority score, effort points |
| FLOAT | Decimal numbers | Value rating (1.0-5.0) |
| SHORT_TEXT | Single-line text | Customer name, ticket ID |
| LONG_TEXT | Multi-line text | Detailed notes, requirements |
| DATE | Date picker | Target date, deadline |
| DATETIME | Date and time | Meeting scheduled |
| SELECT | Single choice | Category, department |
| MULTI_SELECT | Multiple choices | Tags, affected areas |
| TREE | Hierarchical selection | Product > Module > Feature |
| USER | User picker | Assigned to, reviewer |
| BOOL | True/False/Null | Is urgent, needs review |
| URL | Validated URL | Related ticket, docs link |
| Validated email | Contact email | |
| PHONE | Phone number | Contact phone |
| TAGS | Free-form tags | Keywords, labels |
| CALCULATED | Formula result | Auto-computed scores |
| DURATION | Time duration | Estimated hours |
Creating a Custom Field
To create a new custom field:
- Go to Admin Dashboard → Custom Fields
- Click Create Field
- Fill in the configuration:
- Name (EN/AR): Display name in both languages
- Key: Unique identifier (auto-generated from name)
- Type: Select field type
- Description: Help text for users
- Scope: Global or specific product
- Visibility: Internal, Public Read-Only, or Public Read-Write
- Required: Whether field must be filled
- Default Value: Pre-populated value
- Configure type-specific settings
- Click Create
Field Scopes
Fields can be scoped to:
Global Fields:
- Available on all products
- Consistent data across portfolio
- Good for: Priority, Status Notes, Effort
Product-Specific Fields:
- Only on assigned products
- Product-specific data
- Good for: Team-specific metrics, Module selection
Field Visibility
Control who can see and edit fields:
| Visibility | Who Sees | Who Edits |
|---|---|---|
| INTERNAL | Employees only | Employees only |
| PUBLIC_READ_ONLY | Everyone | Employees only |
| PUBLIC_READ_WRITE | Everyone | Author + Employees |
Use Cases:
- INTERNAL: Internal scoring, review notes
- PUBLIC_READ_ONLY: Priority level, target quarter
- PUBLIC_READ_WRITE: Additional details from author
Field Groups
Organize fields into collapsible groups:
Group Settings:
- Name: Group heading (EN/AR)
- Sort Order: Display position
- Columns: 1-4 columns for layout
- Collapsible: Can be collapsed/expanded
To Create a Group:
- Go to Custom Fields page
- Click Create Group
- Enter name and settings
- Drag fields into the group
Calculated Fields
Calculated fields auto-compute values using formulas:
Formula Examples:
=IF([votes] > 50, "High Priority", "Normal")
=[effort] * [value] / 100
=CONCAT([author.company], " - ", [author.displayName])
=IF([status.name] == "Completed", "Done", "Pending")Available Functions:
- Logic: IF, SWITCH, COALESCE
- Math: SUM, AVG, MIN, MAX, COUNT
- Text: CONCAT, UPPER, LOWER, TRIM
- Date: TODAY, DATEDIFF
Field References:
[fieldKey]- Reference another field[author.displayName]- Author's name[author.company]- Author's company[product.name]- Product name[votes]- Total votes[status.name]- Current status
Safety:
- Circular dependency detection
- Execution timeout (prevents infinite loops)
- Sandboxed evaluation
Conditional Rules
Show or require fields based on conditions:
Condition Types:
- Show field when status is X
- Require field when another field has value
- Show field when product is X
To Set Conditions:
- Edit the custom field
- Go to Conditions tab
- Add rules:
- Field to check
- Operator (equals, contains, etc.)
- Value to match
- Set action (show/hide, require)
Field History
All field value changes are tracked:
What's Tracked:
- Who made the change
- When it was changed
- Old value → New value
- Change reason (if provided)
Viewing History:
- Open idea detail
- Click on a field value
- Select View History