Overview
Custom fields allow you to extend Blue’s standard record structure with additional data fields specific to your business needs. They provide a powerful way to capture structured data beyond the built-in fields like title, description, and due date.
Custom fields are defined at the workspace level and can be used across all records (todos) within that workspace. Each field has a specific type that determines its validation rules, input format, and display behavior.
Available Operations
Core Field Management
| Operation | Description | Link |
|---|
| List Custom Fields | Query and filter custom fields | View Details → |
| Create Custom Field | Add new custom fields to workspaces | View Details → |
| Delete Custom Field | Remove custom fields with proper cleanup | View Details → |
Field Values
| Operation | Description | Link |
|---|
| Set Field Values | Set and update custom field values on records | View Details → |
Custom Field Types
Text Fields
| Type | Description | Use Cases | Link |
|---|
| TEXT_SINGLE | Single line text input | Names, titles, short descriptions | View Details → |
| TEXT_MULTI | Multi-line text area | Long descriptions, notes, comments | View Details → |
Selection Fields
| Type | Description | Use Cases | Link |
|---|
| SELECT_SINGLE | Single selection dropdown | Status, priority, category | View Details → |
| SELECT_MULTI | Multiple selection dropdown | Tags, skills, categories | View Details → |
| CHECKBOX | Boolean checkbox field | Flags, approvals, confirmations | View Details → |
Numeric Fields
| Type | Description | Use Cases | Link |
|---|
| NUMBER | Numeric input | Quantities, scores, measurements | View Details → |
| CURRENCY | Currency amount | Budgets, costs, pricing | View Details → |
| PERCENT | Percentage value | Completion rates, discounts | View Details → |
| RATING | Star rating with custom scale | Performance ratings, satisfaction | View Details → |
| FORMULA | Calculated field based on other fields | Totals, computations, aggregations | View Details → |
| Type | Description | Use Cases | Link |
|---|
| EMAIL | Email address with validation | Contact information, notifications | View Details → |
| PHONE | Phone number with international formatting | Contact details, emergency contacts | View Details → |
| URL | Web URL with validation | Links, references, resources | View Details → |
Date and Time Fields
| Type | Description | Use Cases | Link |
|---|
| DATE | Date picker | Deadlines, milestones, events | View Details → |
| TIME_DURATION | Time tracking field | Work hours, duration estimates | View Details → |
Location and Geography
| Type | Description | Use Cases | Link |
|---|
| LOCATION | Geographic location (lat/lng) | Addresses, venues, service areas | View Details → |
| COUNTRY | Country selector | Regional assignments, localization | View Details → |
| Type | Description | Use Cases | Link |
|---|
| FILE | File attachment | Documents, images, resources | View Details → |
System Fields
| Type | Description | Use Cases | Link |
|---|
| UNIQUE_ID | Auto-generated unique identifier | Ticket numbers, order IDs | View Details → |
| REFERENCE | Link to records in another workspace | Cross-workspace relationships | View Details → |
| LOOKUP | Pull data from referenced records | Aggregate data from related records | View Details → |
Interactive Fields
| Type | Description | Use Cases | Link |
|---|
| BUTTON | Actionable button field | Triggers, actions, workflows | View Details → |
| CURRENCY_CONVERSION | Currency conversion field | Multi-currency calculations | View Details → |
Key Concepts
Field Definition
- Custom fields are defined at the workspace level
- Each field has a unique name and type
- Fields can include validation rules and constraints
- Configuration options vary by field type
Field Values
- Values are stored on individual records (todos)
- Each record can have different values for the same field
- Empty/null values are allowed for optional fields
- Values are validated according to field type rules
Permissions Model
Custom fields respect workspace-level permissions:
| Role | Create Fields | Edit Fields* | Set Values | View Values |
|---|
| OWNER | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| ADMIN | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| MEMBER | ❌ No | ❌ No | ✅ Yes | ✅ Yes |
| CLIENT | ❌ No | ❌ No | ✅ Limited | ✅ Limited |
*Edit Fields refers to modifying field settings (name, type, options, validation rules) - not setting field values on records
Custom Role Permissions
- Workspaces can have custom roles with field-specific permissions
- Fields can be marked as editable/non-editable per role
- Custom roles can restrict access to specific fields
Common Patterns
Creating a Basic Custom Field
mutation CreateCustomField {
createCustomField(input: {
name: "Priority Level"
type: SELECT_SINGLE
description: "Task priority level"
customFieldOptions: [
{ title: "Low", color: "#28a745" }
{ title: "Medium", color: "#ffc107" }
{ title: "High", color: "#fd7e14" }
{ title: "Critical", color: "#dc3545" }
]
}) {
id
name
type
customFieldOptions {
id
title
color
}
}
}
Setting Field Values on Records
mutation SetFieldValue {
setTodoCustomField(input: {
todoId: "todo_123"
customFieldId: "field_456"
customFieldOptionId: "option_789" # For SELECT_SINGLE
})
}
Querying Records with Custom Fields
query GetTodosWithCustomFields {
todos(projectId: "project_123") {
id
title
customFields {
id
customField {
name
type
}
# Type-specific value fields
text # TEXT_SINGLE, TEXT_MULTI, EMAIL, etc.
number # NUMBER, CURRENCY, PERCENT, RATING
selectedOption # SELECT_SINGLE
selectedOptions # SELECT_MULTI
checked # CHECKBOX
date # DATE
}
}
}
Creating Records with Custom Field Values
mutation CreateTodoWithCustomFields {
createTodo(input: {
title: "New task"
todoListId: "list_123"
customFields: [
{ customFieldId: "priority_field", value: "high_priority_option" }
{ customFieldId: "budget_field", value: "5000" }
{ customFieldId: "notes_field", value: "Additional context here" }
]
}) {
id
title
customFields {
customField { name }
value
}
}
}
Best Practices
Field Design
- Use descriptive names - Make field purposes clear
- Choose appropriate types - Match field type to data requirements
- Set validation rules - Use min/max values, required fields
- Organize logically - Group related fields together
- Limit field count - Too many fields can impact performance
- Use pagination - When querying large datasets
- Index key fields - For fields used in filtering/sorting
- Avoid deep nesting - Keep field relationships simple
Data Quality
- Validate input - Use appropriate field types with validation
- Provide defaults - Set sensible default values where appropriate
- Use consistent formats - Standardize data entry patterns
- Regular cleanup - Remove unused fields and options
User Experience
- Clear descriptions - Provide helpful field descriptions
- Logical ordering - Position fields in natural workflow order
- Visual hierarchy - Use colors and formatting effectively
- Progressive disclosure - Show fields when relevant
Error Handling
Common errors when working with custom fields:
| Error Code | Description | Solution |
|---|
CUSTOM_FIELD_NOT_FOUND | Field doesn’t exist | Verify field ID and workspace access |
VALIDATION_ERROR | Value doesn’t match field type | Check format and validation rules |
UNAUTHORIZED | Insufficient permissions | Ensure proper role level |
CUSTOM_FIELD_VALUE_PARSE_ERROR | Invalid value format | Review field type requirements |