What is your goal?
Automatically copy the full content of a Notion page from a database A to a corresponding page in database B, in a reliable way without manually rebuilding each block type.
What is the problem & what have you tried?
Hi everyone,
I’m trying to copy full Notion page content from a page in database A to another page in database B (archive use case), and I’m running into structural issues when updating the content.
I’ve tested several approaches:
-
OK => List Page Content (which I actually like — the 1 bundle per block approach is quite clean)
-
OK => Custom API calls (
/blocks/{id}/children) -
KO => Append block children
-
KO => Update page content
Listing blocks is not the problem — I can retrieve page content reliably with different methods.
The issue is really on the update(patch) side.
When sending blocks back to Notion, I get validation errors, including errors on block types I’m not even sending, for example:
[400] body failed validation. Fix one:
body.embed should be defined
body.bookmark should be defined
body.image should be defined
body.video should be defined
...
Even though my payload only contains standard types like paragraph, heading_2, to_do, etc.
From older threads, it seems this might be due to Notion validating against all possible block schemas:
- https://community.make.com/t/how-to-get-full-notion-page-content/30307
- https://community.make.com/t/getting-notion-page-content/16339?page=2
So my questions:
- Is this behavior (errors on unrelated block types) expected / known?
- Has anything improved recently (Make or Notion side) to simplify full page content transfer since older topics i have been through?
- Is there now a better approach than rebuilding blocks per type or iterating block-by-block (which becomes costly)?
Thanks in advance for any insights!
Error messages or input/output bundles
[400] body failed validation. Fix one: body.embed should be defined, instead was undefined. body.bookmark should be defined, instead was undefined. body.image should be defined, instead was undefined. body.video should be defined, instead was undefined. body.pdf should be defined, instead was undefined. body.file should be defined, instead was undefined. body.audio should be defined, instead was undefined. body.code should be defined, instead was undefined. body.equation should be defined, instead was undefined. body.divider should be defined, instead was undefined…
(Goes on and on with all possible types )
