Introduction

Google Sheets Sync

Sync your Notion databases to Google Sheets automatically. Choose one-way sync to export data from Notion to Sheets, or two-way sync for full bidirectional synchronization where changes flow in both directions.

Google Sheets Sync is available on Starter and Pro plans.


Getting started

To set up a sync:

  1. Connect your Notion workspace and Google Drive account
  2. Run a backup to discover your Notion databases
  3. Create a sync from your workspace settings
  4. The spreadsheet should appear in your Google Drive account shortly

Sync modes

One-way (Notion → Google Sheets)

Your Notion database is the source of truth. Changes made directly in Google Sheets are overwritten on the next sync.

Two-way (Notion ↔ Google Sheets)

Full bidirectional sync. New rows in Google Sheets create pages in Notion; updates in either direction are synchronized.

Important

Two-way sync requires a read-write Notion connection. If your workspace uses read-only access, reconnect it with read-write permissions to enable two-way sync.

Sync frequency

FrequencyPlan
Every minutePro
Every 30 minutesStarter and above
Every 60 minutesStarter and above

Starter plans can sync up to 2 databases. Pro plans have no limit.

Two-way sync settings

When using a two-way sync, you have the option to choose how conflicts and deletions are handled.

Conflict resolution

When the same row is edited in both Notion and Google Sheets between syncs:

OptionBehavior
Notion wins (default)Google Sheets changes are overwritten
Google Sheets winsNotion pages are updated with spreadsheet values
Skip conflicting rowsRows are left unchanged; review manually

Deletion handling

When a row is deleted from Google Sheets:

  • Archive the Notion page (default) — Moves the page to your Notion account's Trash (reversible)
  • Do nothing — The page stays in Notion; the row reappears on next sync

When a page is archived in Notion:

  • Delete the row (default) — Removes the row from Google Sheets
  • Mark as archived — Keeps the row but marks it as archived (by appending [ARCHIVED] to the title)
  • Do nothing — The row remains unchanged
  • Recreate the page in Notion — Creates a new page in Notion using the data from the spreadsheet row. Useful when Google Sheets is your source of truth and you want accidentally deleted pages to be restored automatically. The row's page ID is updated to point to the newly created page.

Note

If you change deletion strategies, the new setting applies retroactively. For example, switching to "Recreate the page" will recreate any previously archived pages on the next sync.

Spreadsheet structure

Your spreadsheet is structured automatically:

  • Column A (_notion_page_id) — Links each row to its Notion page. Do not modify this column.
  • Column B (_sync_status) — Shows the status of the last sync for each row. Do not modify this column.
  • Remaining columns — One per Notion property, matching your database schema

The _sync_status column displays a timestamp after each successful sync (e.g., "Synced at 14:30") with a green background. If a row fails to sync, it shows a brief error message with a red background.

Important

Do not rename, move, or delete the _notion_page_id and _sync_status columns. These are system columns used to keep track of the sync state.

Property support

All standard Notion property types are synced:

  • Text (title, rich text, URL, email, phone)
  • Numbers
  • Select and multi-select (comma-separated in Sheets)
  • Dates
  • Checkboxes (TRUE/FALSE)
  • People (names)
  • Relations (page titles)
  • Formulas and rollups (computed values)
  • Files (URLs)
  • Created/last edited timestamps

Computed results from formulas (whether in Notion or Google) get copied over as well.

Hidden properties in Notion and hidden columns in Google Sheets are synced as well — hiding them is purely aesthetic and does not exclude them from the sync.

Error handling

For two-way syncs, the sync pauses automatically after 5 consecutive failures. You can resume it from your workspace settings after reviewing the error.

Common errors include expired connections (reconnect your Google Drive or Notion workspace), deleted databases, and rate limits from the Notion API.

Previous
Restore