Docs/Configuration

Map fields to columns

Automatic matching, required fields, the value formats that work, picking a match key, and changing mappings on a live sync.

11 min read · Updated July 2026

A mapping is just a pair

One sheet column, one Attio attribute, same information. Which way the values travel comes from the sync’s direction, not from the mapping itself.

[ Three mappings ]

Work email ↔ Email addresses

Company domain ↔ Domains

Deal stage ↔ Stage (a list attribute)

How auto-matching works

When a header clearly matches one Attio title or slug, SheetSync suggests the mapping. Anything ambiguous is left unmapped on purpose — a guess that writes to the wrong field is worse than no guess at all.

  • Be specific in headers: Work email, not Email, when you have several email-ish fields.
  • Check every suggested match before you create the sync.
  • Don’t point two unrelated Attio fields at the same column.
  • Only map what the job needs. Unmapped fields are left completely alone.

Required fields

Attio can require a field when a record or list entry is created. For any direction that creates Attio data, each required writable field needs a mapping, an active Attio default, or a supported creation default.

[ Deal Stage is required ]

Existing deals still update fine without the Deal Stage mapping.

A new row can’t create a deal without a valid Deal Stage.

Map the column, set a valid default, or change the plan before you turn the sync on.

Removing a required mapping

It won’t clear anything that’s already there, but it can stop new records being created. Read the setup warning before you save.

Formats that work

Text

Write it as
Any plain text
Notes
Leading and trailing spaces get trimmed.

Email

Write it as
name@example.com
Notes
Invalid text is rejected, not guessed at.

Phone

Write it as
+14155552671
Notes
Include the country code wherever you can.

Number

Write it as
1250.5
Notes
Currency symbols and separators are normalized where possible.

Currency

Write it as
1250 or $1,250
Notes
Attio’s currency setting still decides what it means.

Date / timestamp

Write it as
2026-07-24
Notes
ISO format is the safest.

Checkbox

Write it as
Yes / No
Notes
true, yes, 1, x, ✓ and checked all count as true.

Single select / status

Write it as
Qualified
Notes
Use an existing option title or its API slug.

Multi-select

Write it as
Investor, Partner
Notes
Comma-separated.

Domain

Write it as
example.com
Notes
Protocol and path get stripped.

Personal name

Write it as
Ada Lovelace
Notes
First word becomes the first name, the rest becomes the last name.

Actor reference

Write it as
Display name or email
Notes
Pick the display format for Attio → Sheet. Writing these back from the sheet isn’t supported.

Pick a good match field

A match field is how SheetSync knows a row and an Attio record are the same thing. Without a reliable one, duplicate names and reordered rows turn matching into a coin flip.

  • People: a unique work email beats a full name.
  • Companies: a normalized domain beats a company name.
  • Custom objects: an immutable external ID, or another genuinely unique attribute.
  • List-entry attributes can’t be used as the match field for the parent record.

Changing a live sync safely

  1. 01

    Pause it

    Stops scheduled runs while you move headers, field pairs, or the direction around.

  2. 02

    Change one thing

    Rename or add the column, then update the mapping. Don’t stack unrelated edits.

  3. 03

    Check the source side

    On records that are already linked, a newly mapped field initializes conservatively from Attio.

  4. 04

    Run it once

    Resume, run on demand, and look at the result before you touch anything else.

Up nextLists and linked records