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
| Attio field | Write it as | Notes |
|---|---|---|
| Text | Any plain text | Leading and trailing spaces get trimmed. |
| name@example.com | Invalid text is rejected, not guessed at. | |
| Phone | +14155552671 | Include the country code wherever you can. |
| Number | 1250.5 | Currency symbols and separators are normalized where possible. |
| Currency | 1250 or $1,250 | Attio’s currency setting still decides what it means. |
| Date / timestamp | 2026-07-24 | ISO format is the safest. |
| Checkbox | Yes / No | true, yes, 1, x, ✓ and checked all count as true. |
| Single select / status | Qualified | Use an existing option title or its API slug. |
| Multi-select | Investor, Partner | Comma-separated. |
| Domain | example.com | Protocol and path get stripped. |
| Personal name | Ada Lovelace | First word becomes the first name, the rest becomes the last name. |
| Actor reference | Display name or email | Pick the display format for Attio → Sheet. Writing these back from the sheet isn’t supported. |
Text
- Write it as
- Any plain text
- Notes
- Leading and trailing spaces get trimmed.
- 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
- 01
Pause it
Stops scheduled runs while you move headers, field pairs, or the direction around.
- 02
Change one thing
Rename or add the column, then update the mapping. Don’t stack unrelated edits.
- 03
Check the source side
On records that are already linked, a newly mapped field initializes conservatively from Attio.
- 04
Run it once
Resume, run on demand, and look at the result before you touch anything else.