Update existing records with an import - Relaticle  

    [Importing data](https://relaticle.com/help/import)

 Update existing records with an import 
========================================

Match rows by ID, email, phone, or domain to update records in place instead of creating duplicates.

 Updated August 13, 2026

 When a CSV column uniquely identifies a record — an ID, an email, a domain — the import wizard matches rows to your existing data and updates those records instead of duplicating them. You choose the match method while mapping columns, and the preview shows exactly what will be created versus updated before anything changes.

[](#match-methods "Permalink")Match methods
-------------------------------------------

MethodBehaviourAvailable for**Record ID**Updates that exact record; skips the row if the ID isn't foundAll record types**Domain**Finds the existing company by domain, or creates a new oneCompanies**Email**Finds the existing person by email, or creates a new onePeople**Phone**Finds the existing person by phone, or creates a new onePeople**Name**Always creates a new record — names aren't uniqueCompanies, PeopleThe preview step then labels every row:

- Matched to an existing record → **Update**
- No match, or matched by Name → **Create new**
- A Record ID that doesn't exist → **Skip**

If you don't map any matchable column, the wizard warns you that every row will be created as new. You can go back and map one, or continue anyway.

[](#how-updates-behave "Permalink")How updates behave
-----------------------------------------------------

- **Blank cells are ignored.** An empty CSV cell preserves the existing value — include only the columns you want to change.
- **Multi-value fields merge.** Emails, phone numbers, tags, and multi-select values are added to what's already on the record, not replaced.
- **Duplicates within the file collapse.** If two rows resolve to the same record (say, the same email twice), the second row updates the first's result instead of creating a duplicate.

[](#update-by-record-id "Permalink")Update by Record ID
-------------------------------------------------------

For precise updates, start from an export:

1. **Export** the records you want to change — the file includes an `id`column.
2. **Edit** the CSV, keeping the `id` column intact.
3. **Re-import** — rows with a valid ID update those exact records.

```
id,name,custom_fields_industry
01KCCFMZ52QWZSQZWVG0AP704V,Acme Corporation,Software
01KCCFN1A8XVQR4ZFWB3KC5M7P,TechStart Inc,Hardware

```

[](#create-and-update-in-one-file "Permalink")Create and update in one file
---------------------------------------------------------------------------

Rows with an ID update; rows with a blank ID create:

```
id,name
01KCCFMZ52QWZSQZWVG0AP704V,Update This Company
,New Company (blank ID = create new)

```

 [  Edit this page on GitHub ](https://github.com/Relaticle/relaticle/edit/main/packages/Documentation/resources/content/help/import/update-existing-records.md) [  Ask a question in Discord ](https://relaticle.com/discord)
