# Custom fields

> Define per-entity custom fields: text, number, boolean, date, single/multi-select, URL. Values live on each row's metadata and travel through the API and MCP.

Source: https://productos.ca/documentation/pages/settings/custom-fields (last reviewed 2026-09-22)

Custom fields let workspaces define per-entity fields without a schema change. Values live at `metadata.custom.{field_key}` on each entity row. The definitions are managed here and the values travel through the API and MCP; entity dialogs and list views don't render them.

Members, admins and owners can manage it. Below that, the section shows a Locked panel.

## What you'll see

- **Entity filter**: Feedback, Themes, Features, Initiatives, Releases, Outcomes, Accounts, Personas, Products, Modules, or "All entities"
- **Custom-field list**: entity, label and key, type, required flag, sort order, with edit and delete icons per row
- **New field** button: opens the definition dialog (entity type, field type, label, key, options for select types, sort order, required). Entity type, field type and key are fixed after creation; label, options, sort order and required can be edited

## Field types

Seven types:

- **text**: single-line string
- **number**: integer or decimal
- **boolean**: toggle (true / false / null)
- **date**: ISO date
- **single_select**: one option from a defined list
- **multi_select**: multiple options from a defined list
- **url**: a URL

There is no "long text" / Markdown field type.

## Supported entities

`feedback`, `themes`, `features`, `initiatives`, `releases`, `outcomes`, `accounts`, `personas`, `products`, `modules`. (Team members aren't in scope.)

## Where the values live

- On each row at `metadata.custom.{field_key}`, returned with the row by the entity API and by the MCP connector's `get_entity`
- In the per-entity JSON and CSV exports (inside the `metadata` column), but **not** in the Excel workbook from Import / Export
- Definitions are readable through `GET /api/v1/custom-fields` and the MCP connector's `get_workspace`; the AI action catalog can create and delete definitions

Custom fields are not rendered in entity dialogs, list columns or filters, so the API is the way to read and write values.

## Removing a field

Deletes the definition; **values on existing rows are preserved** (still at `metadata.custom.{field_key}`). Re-creating a field with the same key picks those values up again.

## Related

- [Import / export](https://productos.ca/documentation/pages/settings/import-export): the Excel workbook does not carry custom field values; use the per-entity JSON export
- [API authentication](https://productos.ca/documentation/api/v1/authentication): for reading `metadata.custom` programmatically
