CRMcy Docs

Custom fields

Extend any first-class entity with typed, validated fields.

Last updated 2026-05-05

Custom fields let you attach typed values to any first-class entity — Customer, Lead, Invoice, Project, Task, Ticket, Staff, Contract. Supported types: text, textarea, number, date, datetime, boolean, single-select, multi-select, URL, email, currency. Each field defines a label, a key, an optional default, validation rules (required, min/max, regex), and a visibility scope (admin-only, all staff, or also visible in the customer portal). Values render inline on the detail page and are queryable from the API.

Field changes are versioned: renaming a label is non-destructive, but deleting a field requires explicit confirmation and triggers a backfill that preserves historical values for audit.

Related endpoints

  • GET /api/tenant/custom-fields/:entity — list fields for an entity type.
  • POST /api/tenant/custom-fields/:entity — create.
  • PATCH /api/tenant/custom-fields/:entity/:id — update label/validation/order.
  • DELETE /api/tenant/custom-fields/:entity/:id — soft-delete with confirmation.
  • GET /api/tenant/<entity>/:id/custom — field values for a specific record.

See the source at apps/web/src/app/(tenant)/settings/custom-fields and apps/api/src/custom-fields.