← Back to blog

Adding Custom Fields to Your Project Management Tool

6 min read · March 27, 2026

Every team works differently. A software development team tracks story points and sprint velocity. An agency tracks client name and billing status. A construction company tracks permit numbers and inspection dates. A marketing team tracks campaign budget and publication date.

Project management tools that ship with a fixed set of fields (title, description, assignee, due date, status) force every team into the same mold. The inevitable result: customers export data to spreadsheets, maintain shadow systems in Notion or Airtable, and eventually switch to a competitor that lets them customize the data model.

Custom fields are the solution. This article covers why PM tools need them, how the major players implement them, and how to add them to your product without a multi-month engineering project.

Why Project Management Tools Need Custom Fields

The core data model of a PM tool (tasks, projects, timelines, assignments) is universal. But the metadata on each task varies by industry, team function, and workflow.

Consider how different teams use the same PM tool:

Team TypeCustom Fields They NeedWhy
Software engineeringStory points, sprint, epic, component, PR linkAgile workflow tracking and velocity measurement
MarketingCampaign name, channel, budget, publication dateCampaign planning and spend tracking
Sales operationsClient name, deal value, stage, close datePipeline management inside project boards
ConstructionPermit number, inspection date, site locationRegulatory compliance and site coordination
LegalCase number, filing deadline, jurisdictionCase management and deadline tracking
HRCandidate name, interview stage, salary rangeRecruitment pipeline tracking
Product managementPriority score, customer request count, revenue impactFeature prioritization and roadmap planning

Without custom fields, each of these teams either shoehorns their data into the "Description" text field (making it unsearchable and unstructured) or maintains a parallel system.

A 2023 survey by Wellingtone found that 54% of project managers reported spending time on manual status reporting and data consolidation across tools. Custom fields that capture structured data directly in the PM tool reduce this overhead.

Source: Wellingtone - The State of Project Management

Common Project Management Custom Field Patterns

Agile Software Development

Agile teams need fields that map to their sprint and backlog workflow:

FieldTypeValidationUsed For
Story PointsNumberOptions: 1, 2, 3, 5, 8, 13, 21Effort estimation and velocity
SprintSelectDynamic options per teamSprint assignment and planning
EpicSelectOptions from project's epic listFeature grouping and roadmap
Priority LevelSelectOptions: Critical, High, Medium, LowTriage and sprint planning
ComponentMultiselectFrontend, Backend, API, Database, InfraCode ownership and routing
PR LinkURLValid URL formatCode review cross-reference
Acceptance CriteriaTextareaRequired for storiesDefinition of done
Bug SeveritySelectOptions: P0, P1, P2, P3Incident response and SLA

Agency and Client Work

Agencies manage multiple client projects simultaneously and need fields for billing, approvals, and client communication:

FieldTypeValidationUsed For
Client NameSelectOptions from client listBilling and reporting by client
Budget AllocatedNumberMin: 0, currency formatProject profitability tracking
Approval StatusSelectDraft, In Review, Client Approved, PublishedApproval workflow
BillableBooleanDefault: trueTime tracking and invoicing
External DeadlineDateRequired for client milestonesClient SLA management
Deliverable TypeSelectDesign, Copy, Development, StrategyResource planning by skill

How Monday.com and Jira Handle Custom Fields

Monday.com: Columns as Custom Fields

Monday.com treats every column on a board as essentially a custom field. When a user adds a column, they choose from roughly 30 column types (Status, People, Date, Numbers, Text, Formula, Link, etc.). Each board has its own set of columns, and users add or remove them freely.

AspectMonday.com Approach
Field definition scopePer-board (each board has its own columns)
Who can add fieldsAny board member (by default)
Field type variety~30 column types including formula, mirror, dependency
Cross-board consistencyNot enforced (same field must be recreated per board)
API accessFull GraphQL API

Source: Monday.com Developer Docs

Jira: Custom Fields at the Instance Level

Jira defines custom fields at the instance level (or project level in Jira Cloud). A custom field defined once can appear on issues across multiple projects. Administrators configure which fields appear on which issue types through "screens" and "screen schemes."

AspectJira Approach
Field definition scopeInstance-wide or project-scoped
Who can add fieldsJira administrators only
Field type variety~20 built-in types plus Marketplace add-ons
Cross-project consistencyEnforced through screen schemes
Field limitsRecommended: under ~1,200 fields per instance

Atlassian explicitly warns about field proliferation: "Too many custom fields can compromise the performance of Jira instances." Performance degradation becomes noticeable above approximately 1,200 custom fields.

Source: Atlassian

Lessons from Both

LessonImplication for Your PM Tool
Users expect to add fields without engineering helpSelf-service field creation is table stakes
Field types must cover common PM metadataAt minimum: text, number, date, select, multiselect, URL, boolean
Cross-project field consistency matters for reportingSupport both project-scoped and shared field definitions
Performance degrades with too many fieldsImplement field limits and monitor query performance
API access is requiredCustom field values must be readable and writable via API

Global Fields vs. Tenant Fields

When building custom fields for a multi-tenant PM tool, there is a fundamental design distinction: fields that you (the vendor) define and control, versus fields that your customers define for themselves.

Global Fields: You Define, Everyone Gets

Global fields are field definitions created by you, the PM tool vendor. They appear for all tenants (or for all tenants on a specific plan tier). Tenants cannot modify or delete them.

Global FieldTypeWhy It's Global
PrioritySelect (Critical, High, Medium, Low)Every team needs priority. Standardizing it enables cross-project reporting.
Due DateDateUniversal project management concept.
Estimated HoursNumberUsed in resource planning and capacity reports.
Status CategorySelect (To Do, In Progress, Done)Standardized for Kanban views and velocity metrics.

Tenant Fields: Your Customers Define

Tenant fields are created by your customers' administrators. They appear only for that tenant's users. Different tenants have different tenant fields.

TenantField They CreatedTypeWhy
Crestline DesignClient NameSelectTrack which client each task belongs to
HealthCoHIPAA Review RequiredBooleanRegulatory compliance workflow
TechStartSprintSelectThey use sprints but other tenants do not
BuildRightPermit NumberTextConstruction regulatory requirement

The Relationship

CharacteristicGlobal FieldsTenant Fields
Created byYou (the vendor)The tenant's administrator
Visible toAll tenantsOnly the creating tenant
Used in cross-tenant reportingYesNo (tenant-scoped)
Field limitsNo limit (your schema)Tied to pricing plan

This distinction maps directly to a monetization strategy. This is the same model HubSpot uses. Their free plan allows 10 custom properties. Paid plans allow 1,000.

Source: HubSpot Docs

The Engineering Cost of Building Custom Fields

ComponentEstimateWhat It Involves
Database schema and storage2-4 weeksChoose EAV, JSONB, or extension tables. Multi-tenant isolation.
Validation engine1-2 weeksType coercion, required fields, min/max, option constraints.
Field management UI2-4 weeksAdmin panel for creating, editing, and deleting fields.
Field editor UI2-4 weeksDynamic form rendering, input type mapping, layout, validation.
REST API1-2 weeksCRUD endpoints for definitions and values. Search, pagination.
Testing2-4 weeksUnit, integration, E2E, and performance tests.
Total11-22 weeks

The actual cost is typically 3-4x the estimate. That puts the realistic timeline at 33-66 weeks of engineering time.

Source: Appinventiv - Build vs Buy

71% of tech teams choose off-the-shelf solutions to accelerate time-to-value. For infrastructure like custom fields, where the engineering cost is high but the competitive differentiation is low, the build case is hard to justify.

Source: Chameleon - Build vs Buy

How to Add Custom Fields to Your PM Tool with Kopra

Kopra provides the complete infrastructure for multi-tenant custom fields: storage, validation, multi-tenant isolation, field configuration UI, field editor UI, REST API, and webhooks. You integrate with the SDK and ship custom fields in an afternoon.

Step 1: Create Field Groups for Your Entity Types

# Create a field group for tasks
curl -X POST "https://your-kopra-instance.com/api/field-groups" \
  -H "X-API-Key: kp_your_key" \
  -H "Content-Type: application/json" \
  -d '{"name": "Task Fields", "key": "task", "description": "Custom fields for tasks and issues"}'

# Create a field group for projects
curl -X POST "https://your-kopra-instance.com/api/field-groups" \
  -H "X-API-Key: kp_your_key" \
  -H "Content-Type: application/json" \
  -d '{"name": "Project Fields", "key": "project", "description": "Custom fields for projects"}'

Step 2: Define Global Fields

# Add a "Priority" dropdown to all tasks
curl -X POST "https://your-kopra-instance.com/api/global-fields" \
  -H "X-API-Key: kp_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "key": "priority",
    "label": "Priority",
    "schema": {
      "type": "select",
      "validation": {
        "required": true,
        "options": ["Critical", "High", "Medium", "Low"]
      }
    },
    "fieldGroupIds": ["TASK_FIELD_GROUP_ID"]
  }'

Step 3: Embed the Field Editor in Task Details

import { KopraSDK } from '@kopra-dev/sdk';

const sdk = new KopraSDK({
  currentTenant: tenantId,
  getToken: async (req) => {
    const res = await fetch('/api/kopra-token', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify(req),
    });
    return res.json();
  },
  onFieldsSaved: (values) => {
    console.log('Task custom fields saved:', values);
  },
  autosave: {
    enabled: true,
    debounceMs: 2000,
  },
});

await sdk.loadCustomFields('task-custom-fields', {
  fieldGroupKey: 'task',
  entityId: 'task-1234',
});

Step 4: Let Tenants Add Their Own Fields

await sdk.loadFieldConfiguration('field-settings', {
  fieldGroupKey: 'task',
  fieldLimit: 15, // Based on their plan
});

Now the agency can add "Client Name" and "Billable" fields. The construction company can add "Permit Number." The software team can add "Story Points." Each tenant configures their own fields without contacting your support team.

The Result

WhatWithout KopraWith Kopra
Time to ship3-6 months1 day
Tenant self-serviceMust build field management UIBuilt-in configuration panel
Field typesMust implement each oneText, number, date, select, multiselect, boolean, URL, email, textarea
Multi-tenant isolationMust implement and auditBuilt-in (clientId-based, JWT-scoped)
API accessMust build endpoints26 REST endpoints included
Maintenance15-20% of build cost annuallyManaged

Your PM tool's competitive advantage is the workflow engine, the Gantt charts, the resource planning, the integrations. Not the custom field infrastructure underneath. Offloading that layer lets your team focus on what makes your product unique.

Free tier available at kopra.dev. No credit card required.