# Field mapping

> Choose which CRM field fills which CustomerCatalyst field, whether the CRM may overwrite it, and how CRM values translate.

import { Aside, Steps } from '@astrojs/starlight/components';

Field mapping decides which CRM field fills which CustomerCatalyst field when a record syncs. Every data type starts with a set of default mappings, so a sync works without any setup. Change them only where your CRM uses its own fields.

Mappings are set per data type, on the HubSpot or Pipedrive page under **Integrations**. Only organization admins can change them.

## See the mappings for a data type

Each data type has a row such as *Sync companies from Hubspot as customers in CustomerCatalyst*. Click **Manage** on the row to open **Configure:** for that type. **Mapped fields** lists each CustomerCatalyst field, the CRM field it reads from, and its update strategy. Default mappings are marked **Default**.

## Add a field mapping

<Steps>

1. Click **Manage** on the data type's row.
2. Under **Add field mapping**, pick the CustomerCatalyst field in **Select CC field...**.
3. Type the CRM field's name in the property box. For HubSpot, use the property's internal name. For Pipedrive, a custom field's name works.
4. Choose the **Update strategy** (see below).
5. Click **Add mapping**.

</Steps>

If what you picked is already used in another mapping, you see *This value has been used in other mappings*.

## Update strategy

| Strategy | On every sync |
|---|---|
| **Overwrite** | The CRM's value replaces the value in CustomerCatalyst. |
| **Skip** | The CRM fills the field only while it is empty in CustomerCatalyst. Once it has a value, edits made in CustomerCatalyst are kept. |

An empty value in the CRM never clears a field in CustomerCatalyst.

<Aside>
With **Overwrite**, a change you make in CustomerCatalyst lasts only until the record next changes in the CRM. Use **Skip** for fields your team maintains in CustomerCatalyst.
</Aside>

## Map CRM values to CustomerCatalyst values

Some CustomerCatalyst fields take a fixed list of values, such as a call's direction. The CRM's values have to be translated into them.

<Steps>

1. In **Mapped fields**, open the field's **Value mappings**.
2. Under **Add value mapping**, type the CRM value.
3. Pick the matching **CC value**.
4. Click **Add**.

</Steps>

A CRM value with no mapping is left out: the field keeps its current value in CustomerCatalyst.

## Customer status

Which CRM records become customers, and whether they are active or churned, is set separately under **Customer status**. See [HubSpot](/integrations/hubspot/#choose-which-companies-become-customers) or [Pipedrive](/integrations/pipedrive/#choose-which-organizations-become-customers).

## When changes take effect

Mappings apply from the next sync. A sync only reads records that changed in the CRM since the last one, so records that haven't changed keep their old values until they do.
