# How to configure field type?

The semantic **Type** defines how data is stored, validated, and shown in the table and record card. Types are grouped in the editor: **Basic**, **Contacts & links**, **Lists & relations**, **Media**, **System**.

## When you need this

- You add a new field and need the right type.
- You want **Email**, **Phone**, or **Date & time** instead of plain text.
- You need to link tables via **Table relation**.

## Key terms

- **Field type** — choice in the field card on **Fields** or in **Add field**.
- **Managed by type «{type}»** — some settings are set automatically by the type.
- Changing an existing field type is a risky schema change — **Review changes before save** appears.
- Full type list — [Semantic field types reference](/en/customdata/reference/semantic-field-types-reference.md).

## Before you start

- [x] **Custom Data model editor** is open (new or existing table).
- [x] You know what the field stores (text, number, date, link to another table, etc.).

## Step-by-step

1. On **Fields**, click **Add field** or open an existing field.
2. Open **Type** — types are grouped:
   - **Basic** — **Text**, **Number**, **Date**, **Checkbox**, etc.
   - **Contacts & links** — **Email**, **Phone**, **Link**, **Coordinate**.
   - **Lists & relations** — **List**, **API list**, **Table relation**.
   - **Media** — **File**, **Image (URL)**.
   - **System** — **User**, **Subject**, **Tag**, etc. (see [Configure system field types](/en/customdata/how-to/configure-system-field-types.md)).
3. Pick a type — a hint appears below.
4. Fill **Label** and optionally **Technical key** (before the table is saved).
5. For type-specific settings, expand:
   - **Validation** — **Required**, **Unique values**, rules (**Must be an email**, **Digits only**).
   - **Association** — for **Table relation**: **Table**, **Label field**, **Value field (FK)**.
   - **Lists** — for **List**: options; for **API list** — ActionJail action and **List label field** (see [List by API (ActionJail)](/en/customdata/how-to/configure-select-api-field.md)).
6. Click **Save** at editor level — confirm **Review changes before save** if you changed an existing field type.

## What happens next

The field gets the matching editor in the records table and card. Existing values may need manual cleanup after a type change.

## How to verify

- The cell shows the type format (e.g. clickable **Email**).
- Validation triggers on bad input (**Must be a valid email**).
- Association shows the linked record label, not only ID.

## Other options

- Quick add from the table — **Add field** → **Field type** → **Open full editor** for association and API lists.
- Non-standard keys — **JSON** → **columns_json (advanced)**.

## Related guides

- [Semantic field types reference](/en/customdata/reference/semantic-field-types-reference.md)
- [Configure system field types](/en/customdata/how-to/configure-system-field-types.md)
- [List by API (ActionJail)](/en/customdata/how-to/configure-select-api-field.md)
- [Configure field display](/en/customdata/how-to/configure-field-display.md)
- [Create an association between tables](/en/customdata/how-to/create-association-between-tables.md)
