Description
notion page set <id> "MyRelation=<related-page-id>" fails with:
Error: set properties: validation_error: <RelationField> is expected to be relation.
This is technically working as documented (the canonical commands are notion page link / unlink), but two UX gaps:
- The error message doesn't suggest
notion page link --prop "MyRelation" --to <id> — users have to dig into docs to find the right command
notion page set accepts every other property type via Key=Value syntax. Excluding relations breaks the mental model — users reasonably expect "set this property to this value" to work uniformly
Repro
notion page set <page-id> "Product categories=34bd580f-96c5-80f7-9dee-d188f1cb4564"
# → Error: set properties: validation_error: Product categories is expected to be relation.
Expected
Either:
- Make
page set work for relations — accept comma-separated page IDs for multi-relation, single ID for single-relation. This is the most intuitive.
- Improve the error message to direct users to
page link — minimum bar to avoid wasting time.
Ideally (1), since the syntax already supports comma-separated values for other multi-value properties (e.g., Tags=a,b,c for multi_select).
Environment
Impact
Minor surprise + extra trip to docs. Doesn't block anything but breaks the "uniform interface" expectation.
Description
notion page set <id> "MyRelation=<related-page-id>"fails with:This is technically working as documented (the canonical commands are
notion page link / unlink), but two UX gaps:notion page link --prop "MyRelation" --to <id>— users have to dig into docs to find the right commandnotion page setaccepts every other property type viaKey=Valuesyntax. Excluding relations breaks the mental model — users reasonably expect "set this property to this value" to work uniformlyRepro
Expected
Either:
page setwork for relations — accept comma-separated page IDs for multi-relation, single ID for single-relation. This is the most intuitive.page link— minimum bar to avoid wasting time.Ideally (1), since the syntax already supports comma-separated values for other multi-value properties (e.g.,
Tags=a,b,cfor multi_select).Environment
Impact
Minor surprise + extra trip to docs. Doesn't block anything but breaks the "uniform interface" expectation.