How to Sync Google Sheets with a Notion Database Using Make

7 min readUpdated

Turn new Google Sheets rows into Notion database items automatically with Make — plus the module-name gotcha since Notion's 2025 API rename to 'data sources.'

Share:TelegramX

Quick answer

Two modules: Google Sheets → Watch New Rows (fires when a row is added) feeding a Notion Create a Data Source Item action (writes it into your Notion database). This covers the most common direction people actually build — pushing sheet rows into Notion — not a full two-way sync; see the FAQ for the reverse direction.

A naming gotcha worth knowing before you start

If you're following an older tutorial, you'll likely see the Notion action called "Create a Database Item." That module still exists and still works, but Make now labels it (Legacy) — Notion restructured its API in 2025 around a new "data source" concept sitting underneath what used to just be called a "database," and Make added a parallel Create a Data Source Item action to match. Functionally they do the same job for a normal Notion database; the current one is just the one that'll keep getting updates going forward. Use the current action for a new build.

What you'll need

  • A Make account (free tier is enough for a low-volume sync)
  • A Google Sheet with a header row
  • A Notion database (or "data source," in Notion's current terminology) with matching columns/properties

Step-by-step

1. Add the Google Sheets trigger

  1. New scenario → search Google Sheets
  2. Choose Watch New Rows
  3. Connect your Google account, pick the spreadsheet and sheet
  4. Run once to pull a sample row

2. Add the Notion action

  1. Add a module → search Notion
  2. Choose Create a Data Source Item
  3. Connect Notion (Make will ask you to authorize access to specific pages/databases in your Notion workspace — you have to explicitly share the target database with the Make integration inside Notion itself, not just approve in Make)
  4. Pick the target database

3. Map the fields

Match each Notion property to the corresponding Google Sheets column from the trigger's output. Property types have to line up — a Notion "Select" property expects a specific matching option value, not arbitrary text, so if a sheet column is free text but the Notion property is a Select/Multi-select, either pre-constrain the sheet's values to match the Notion options exactly, or add a Text Parser/formatter step to normalize them first.

4. Turn the scenario on and set the check frequency

Activate the scenario. On Make's free tier, trigger polling frequency is tied to your plan (as infrequent as every 15 minutes on Free, faster on paid tiers) — for a content-planning or lead-tracking sheet that isn't ultra time-sensitive, that's usually fine as-is.

Common mistakes

Forgetting to share the Notion database with the integration. Notion's permission model is separate from Make's OAuth connection — even after authorizing Make in general, a specific database has to be explicitly shared with the connection (via the database's "Connections" menu in Notion) before Make can see or write to it. This is the single most common reason a correctly-configured scenario still can't find the target database in the dropdown.

Mismatched property types. A date column in Sheets stored as plain text won't map cleanly into a Notion "Date" property without reformatting — Notion expects an ISO-8601-ish date, not whatever format the sheet happens to display.

Running this on a sheet that already has hundreds of existing rows. Watch New Rows triggers going forward from when it's activated, not retroactively on the sheet's full history — if the goal is a one-time bulk import instead of an ongoing sync, that's a different, one-off scenario design (a Get Range Values action run once), not this trigger-based approach.

Assuming this syncs changes to existing rows. Watch New Rows only fires on new rows appended to the sheet — editing an existing row's cells afterward does nothing here. If existing-row updates need to flow through too, that requires Watch Changes as a second, separate watcher module alongside the new-row one, with its own mapping into a Notion Update a Data Source Item action.

FAQ

Can I sync in the other direction — new Notion items appearing in Google Sheets?

Yes, and it's a mirror-image scenario: a Notion trigger (watching for new database items) feeding a Google Sheets Add a Row action instead. It's a separate scenario, not a setting on this one — Make scenarios are one-directional by default, so a genuinely bidirectional sync means running both scenarios side by side (and being deliberate about not creating an infinite loop if both are watching the same data).

Why does the Notion connection ask me to pick specific pages instead of just logging in?

That's Notion's own integration permission model, not a Make limitation — a Notion integration only ever gets access to pages and databases you explicitly share with it, unlike a typical OAuth "grant full account access" flow. This is deliberate on Notion's part and applies the same way regardless of which automation tool is connecting.

What happens to rows that were already in the sheet before I turned the scenario on?

Nothing — they're not retroactively picked up. If you need the existing rows in Notion too, run a one-time Get Range Values → Notion Create a Data Source Item pass manually first, then let Watch New Rows take over for everything added afterward.

Is this the same underlying mechanism as connecting Google Sheets to other apps in Make?

Yes — Watch New Rows is a generic Google Sheets trigger reused across many Make scenarios regardless of what the action side connects to; swapping the Notion action for a Slack, email, or CRM action follows the same trigger-side setup. If a scenario built this way errors out partway through instead of completing, the fix depends on which of Make's five error-handler directives applies to that failure — see Make scenario errors explained for the full breakdown.


Last fact-checked: August 20, 2026. Module names verified against Make's official Google Sheets + Notion integration page — Notion's API and Make's corresponding module set have changed before (the 2025 "data source" rename) and may change again.

Related articles