Updating a Notion database (calendar) from Google Calendar : error on title

I’m getting to learn N8N. My first assigment : create / update items in a calendar database when event are created or updated in Google calendar. So far I’ve been able to do the create an event when one is created in calendar part. Working!

But the update part… I really don’t know how to do it. So far I’ve tried this. Obviously, I’m stuck.

Tried numerous expressions in Database Page Link or ID. Errors… ERROR: 400 - {“object”:“error”,“status”:400,“code”:“validation_error”,“message”:“path failed validation: path.page_id should be a valid uuid, instead was \"A\".”}

But I think I might have skipped a verification… How could I match the updated event to the good page in Notion?

Any help is appreciated!

image

Hi @Jim, welcome to the community!

Looks like you’re missing the Link or ID of the respective Notion page in your Notion node. When creating an entry to a Notion database you’d need to specify the parent page, when updating you would need to specify the page to update:

I tried to add link of the page where the database of event are in. Error.

ERROR: 400 - {“object”:“error”,“status”:400,“code”:“invalid_request_url”,“message”:“Invalid request URL.”}

Details

Stack

Error: Request failed with status code 400
    at createError (/var/www/n8n/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/var/www/n8n/node_modules/axios/lib/core/settle.js:17:12)
    at IncomingMessage.handleStreamEnd (/var/www/n8n/node_modules/axios/lib/adapters/http.js:269:11)
    at IncomingMessage.emit (node:events:539:35)
    at endReadableNT (node:internal/streams/readable:1345:12)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)

Problem executing workflow

There was a problem executing the workflow:
"400 - {“object”:“error”,“status”:400,“code”:“invalid_request_url”,“message”:“Invalid request URL.”}"

I also tried to add the link to the event database block in the page (copied link to view). Same error. II think this has to be a variable. Because it’s the event that was updated in google sheet that I want to update. Any idea what variable I should choose?

image

And by the way, for this to happen, I guess I should get pages first from Notion? And then match with event title in Google Calendar…

I’m kinda lost.

I mean… it has to be.

Get Google calendar events that have been updated
Get Notion database of events
For each events in the Notion database that match Google updated event, update the data of the event in Notion

But now… how can I do that in Notion?

Hi @Jim, so I assume you’ve got the Google Calendar part of your workflow working?

How does your Notion database look like? Based on the error you are getting from Notion I suspect there might be a simple typo somewhere along the way.

For my simple test database like this:

I could create a new entry using a workflow like so:

Updating would require the ID or URL of the individual entry, not the database itself:

I can then configure the properties I want to update:

This also works fine for me:

Could you share the JSON output you are getting from your Google Calendar node (you can of course redact confidential values, just make sure the data structure remains intact), your workflow JSON (simply copy your workflow from the n8n canvas and paste it here on the forum) and a description of your Notion database?

Also, can you confirm you have shared your Notion database is shared with your n8n/Notion integration like below?

image