Docs/Concepts

Choose a sync direction

One-way, two-way, who overwrites whom, how blanks are treated, and what happens when both sides change the same field.

9 min read · Updated July 2026

Attio → Google Sheets

Use this when your team manages the record in Attio and the sheet is there for reporting, analysis, or sharing.

  • New Attio records can create rows.
  • Changes to mapped Attio fields update the sheet.
  • Typing into a mapped cell does not update Attio.
  • The next run may well overwrite what you typed.

[ Forecast report ]

Deal Stage moves from Qualified to Negotiation in Attio.

The next run updates the Deal Stage cell in the sheet.

If someone had typed Prospecting into that cell, Attio’s Negotiation replaces it.

Google Sheets → Attio

Use this when the spreadsheet is deliberately in charge — a reviewed enrichment pass, or a migration.

  • New rows can create Attio records.
  • Changes in mapped columns update Attio.
  • Editing a mapped field in Attio does not update the sheet.
  • The next run may well overwrite that Attio edit.

This one bites

If sales is still editing the same fields in Attio, don’t reach for this direction casually. Use bidirectional, or put Attio in charge.

Both directions at once

Bidirectional compares each mapped field against the value we saved after the last successful run. That’s what lets unrelated edits from opposite sides both survive.

Unchanged

Attio
Unchanged
What happens
Nothing.

Changed

Attio
Unchanged
What happens
The sheet value goes to Attio.

Unchanged

Attio
Changed
What happens
The Attio value goes to the sheet.

Changed

Attio
Changed to the same thing
What happens
Save it and move on.

Changed

Attio
Changed differently
What happens
Use the timing if we can trust it. Otherwise Attio wins.

[ Two different fields ]

Ops fixes Founder Email in the sheet.

Sales moves Deal Stage in Attio before the next run.

Both land. Founder Email updates in Attio, Deal Stage updates in the sheet.

When both sides change the same field

Attio gives us useful timing on field values. Google Sheets doesn’t expose a reliable last-edited timestamp for an individual cell. So when the same mapped field changed to two different values before a run and we can’t prove which came first, SheetSync keeps Attio’s.

Why Attio wins the tie

We won’t pretend a whole spreadsheet’s modified time tells us which cell someone touched last. Keeping Attio is predictable, and it’s the safer side to trust with CRM data.

Blanks and deletions

  • A blank doesn’t wipe out a filled-in value by default.
  • A blank required field will block that row from being created, and it’ll be named in the issue summary.
  • Removing a mapping stops that field syncing. It doesn’t delete the field, the column, or anything already in them.
  • Deleting rows and records is its own high-risk business. When a link goes missing we report it rather than assuming you wanted the delete to travel.
Up nextMap fields to columns