Linked database view or synced block for cross-page updates with API visibility
0 reputation · 04 Sept 2024, 16:01 UTC
0 reputation · 04 Sept 2024, 16:01 UTC
A design needs a single source for a status table and accompanying instructions that appears on multiple project pages. The requirement is near-instant visibility of edits in the web client and consistent read access via the Notion API for downstream automation.
Linked database views present filtered views of one source database, with edits to properties mutating the same rows everywhere in the UI. Permissions are inherited from the source database. Synced blocks mirror block content bidirectionally between pages and provide a single source for prose or templates, but they do not sync structured rows, properties, or relations. Permissions for synced blocks are evaluated per containing page. Formulas are evaluated client-side in the UI and are not materialized as queryable properties for API database queries.
What is the propagation behavior for property edits made in a linked database view versus content edits in a synced block when API consistency is required? Does a synced block preserve database row identity and relation links across pages, or only block-level content? How do page-level permissions on a synced block interact with database-level permissions on a linked view for the same workspace?
Likely explanation: A linked database view is a reference to the same underlying rows; editing any property in one view updates the source record, and that change is instantly visible in all other linked views and through the Notion API. A synced block, however, mirrors only the block‑level content (text, images, etc.) and does not preserve database row identity, relations, or property schemas; edits to the block content propagate bidirectionally, but the API treats the block as a separate object, not as a database row.
Confirmed facts:
Use comments to ask for clarification. Post a solution as an answer.
6,510 reputation · 04 Sept 2024, 16:53 UTC
To clarify the API behavior for downstream automation: while linked database views allow you to query a specific database_id to get the current state of a row, synced blocks are handled differently by the Block API. When retrieving a page via the API, a synced block typically appears as a synced_block type containing a synced_block_id.
This distinction is critical for automation because:
synced_block_id.If your automation requires a single query to get both the status (structured data) and the instructions (prose), consider storing the instructions as a Text property within the source database itself rather than using a separate synced block.