Notion to Sheets Scenario

What are you trying to achieve?

This is my first ever Make scenario. I just want to reflect my Notion database in a Google sheet. Basically whenever I add, update or delete a row I would like to see that change in sheets. I read many articles and support cases but it seems I can’t get this to work. Can someone guide me through the steps?

Steps taken so far

I’ve already connected my Notion workspace and Google drive to Make. This is my current scenario set-up, but the filters are currently empty and it seems that the mapping is wrong (BundleValidationError). I did add an “ID” column to my Notion database and Google sheet to track updates.

Screenshots: scenario setup, module configuration, errors




Hi Andrew,
It looks like you’re almost there - I think the logic to sync Notion to Google Sheets could be like so:

  1. [Notion] When a database item is updated
  2. IF the ROW ID property synced with Google Sheets is not empty
    2a. [Google Sheets] Update a row (here you may need a “search row” module first, depending on what ID you store in Notion)
  3. IF the ROW ID property synced with Google Sheets is empty
    3a. [Google Sheets] Add a row


As for the Bundle Validation Error shown in the screenshot, that may have to do with the “Assigned to” property, which is an Array in Notion. You may use the map() function on that field in Make in order to extract the actual values in that array

Hey Simo,
Thanks for the reply! I thought nobody would answer lol, especially this quick!

I understand, thanks for the explanation. My problem is that the ROW ID property is not synced with Google Sheets, and is just a column I added in both the google sheet and the Notion Database - it’s the pre-filled Notion “ID” property. I’m not sure which module structure to use in order to update rows or add new rows while avoiding duplication in each trigger run.

Also, do you know how exactly the “watch database items” module works? Does it read the entire database and trigger when a new row is created, or an old one is updated?

As for the error, I re-did the whole scenario structure and mapping, and it worked without the map function, not too sure what happened there lol.

Thanks again for the help!

Hi Andrew,
about the “watch database items” module: It is not an instant trigger, it will run when you have scheduled the scenario to run. You can then choose in the setup if you want to watch for updates or new pages created. If you choose to watch for updates, it will output all pages that have been updated since the last time it checked. The same goes for switching the settings to watch by created time: all the newly added pages since the last checked time will be recognized and the module will output them.

1 Like

Makes sense, thanks for sharing this!