> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bindbee.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Dashboard Configuration

> Create a Custom Field and map it to a value in the raw payload, visually from the Bindbee Dashboard.

Creating a Custom Field from the dashboard is two steps: create the field, then map it to a value in the source system's raw payload.
For the concepts see the [Custom Fields overview](/guides/extending/custom-fields). For the programmatic route see [API Configuration](/guides/extending/custom-fields/api-workflow).

## The Custom Fields page

**[Configure → Custom Fields](https://app.bindbee.dev/custom-fields)** lists every field in your organization, with how many mappings each has, its category and model, and who last changed it.

## Step 1: Create the field

Click **New Field** in the top right.

<Frame caption="Create custom field dialog">
  <img src="https://mintcdn.com/unifyx-56/NU46D4mywOWu_9HZ/images/custom-fields/create-field-dialog.png?fit=max&auto=format&n=NU46D4mywOWu_9HZ&q=85&s=7039bf78ea9e17fa9e661f3f45a90ff4" alt="Create custom field dialog with fields for name, category, model and short description" width="1611" height="1182" data-path="images/custom-fields/create-field-dialog.png" />
</Frame>

| Field                    | Notes                                                                                  |
| ------------------------ | -------------------------------------------------------------------------------------- |
| **Name of custom field** | Required. Must be unique and follow `snake_case`, for example `employee_insurance_id`. |
| **Select model**         | Required. Pick the **Category** first, then the **model** the field extends.           |
| **Short Description**    | Optional. A note explaining what the field holds.                                      |

Press **Create**. The field now exists but carries no data — it needs a mapping.

## Step 2: Choose the mapping type

You land on the field's page, which prompts you to create the first mapping. The two options are the two mapping types.

| Option                     | Applies to                             |
| -------------------------- | -------------------------------------- |
| **for Specific Connector** | Selected connectors only               |
| **for Integration**        | Every connector using that integration |

Where both exist for the same field, the connector mapping wins on that connector — see [Type of mapping](/guides/extending/custom-fields#type-of-mapping).

## Step 3: Pick the source

A mapping row has three parts: **Mapping type**, **Source**, and **Data field**.

For a connector mapping, the Source dropdown is a searchable list of your connectors:

For an integration mapping, it is the integration itself: Use **Add new** to give one field several mappings — different connectors, or a connector override alongside an integration default.

## Step 4: Select the data field

Click the **Data field** box to open the picker. It has two tabs.

### Live data

Search a real employee, then choose a value from their raw payload. Because you can see the actual value, this is the surest way to confirm you are mapping the right key.

<Frame caption="Live data. Pick an employee on the left, then a field from their raw data on the right.">
  <img src="https://mintcdn.com/unifyx-56/NU46D4mywOWu_9HZ/images/custom-fields/data-field-live-data.png?fit=max&auto=format&n=NU46D4mywOWu_9HZ&q=85&s=2de17724b8522c427aed5197ac328adb" alt="Data field picker on the Live data tab, with an employee search list beside the raw data fields for the selected employee" width="1611" height="1182" data-path="images/custom-fields/data-field-live-data.png" />
</Frame>

<Warning>
  **Live data is only available for the Employee model on connector-level custom fields.** For any other model, or for an integration-level mapping, use the JSON Path tab.
</Warning>

### JSON Path

Browse a sample payload and select the field you want, or switch to **Enter path** and type the expression directly.

What the sample shows depends on the mapping type. A connector mapping shows that connector's own data:

<Frame caption="A connector mapping previews sample data from that specific connector.">
  <img src="https://mintcdn.com/unifyx-56/NU46D4mywOWu_9HZ/images/custom-fields/data-field-json-path-connector.png?fit=max&auto=format&n=NU46D4mywOWu_9HZ&q=85&s=e9f63c3b659ca190efc7c674f7741d63" alt="JSON Path tab showing sample data from a named connector, with search and enter path controls" width="1611" height="1182" data-path="images/custom-fields/data-field-json-path-connector.png" />
</Frame>

An integration mapping has no single connector to read from, so it shows a sample from one of your connectors on that integration:

Select the field, then press **Map field**. Save the mapping row with the tick.

<Note>
  Structures differ between integrations. An expression that works on one platform will not necessarily work on another, so check each integration you map rather than assuming the shape carries over.
</Note>

## When the value appears

**The field is populated on the connector's next sync**, not immediately. To see it sooner, use [force a resync](/guides/reading-writing/syncing#forcing-a-resync).

Once it resolves, request it with `include_custom_fields=true` — see [Retrieve custom fields](/guides/extending/custom-fields#retrieve-custom-fields). Confirm the mapping resolves before relying on it: an incorrect path [returns `INVALID_JSON_PATH`](/guides/extending/custom-fields) rather than an error.

## Next steps

<CardGroup cols={2}>
  <Card title="Retrieve custom fields" icon="download" href="/guides/extending/custom-fields#retrieve-custom-fields">
    Add `include_custom_fields=true` to your unified requests.
  </Card>

  <Card title="API Configuration" icon="code" href="/guides/extending/custom-fields/api-workflow">
    Do the same thing programmatically.
  </Card>
</CardGroup>
