Introducing Synced Blocks: One Source of Truth, Everywhere

Introducing Synced Blocks: One Source of Truth, Everywhere

February 19, 20264 min read

Ever found yourself copying the same content across multiple documents — a project brief, a set of guidelines, a pricing table — only to realize you now have five versions that are all slightly out of date?

We've been there too. That's why we built Synced Blocks.

What Are Synced Blocks?

A Synced Block is a live mirror of another page's content embedded directly inside your document. Edit the source page once, and every document that references it reflects the latest version on the next load.

Think of it as a window into another page — you can see everything, but the content lives in one canonical place.

No more copy-paste drift. No more "which version is the real one?" conversations.

How It Works

Inserting a Synced Block

There are two ways to add a synced block:

  1. Slash command — Type /sync (or /mirror, /transclusion) anywhere in your document

  1. Elements panel — Click the Elements button in the left sidebar and select "Synced Block"





Either way, a page picker dialog opens. You'll see your recent pages at the top, followed by your full folder hierarchy. Use the search bar to quickly filter by title.

Select a page, and its content appears inline — right where your cursor was.

The Toolbar

When you click on a synced block, a floating toolbar appears with a few handy actions:

  • Alignment — Position the block left, center, or right within your document

  • Refresh — Manually pull the latest content from the source page

  • Open source — Jump to the source page in a new tab for editing

  • Remove — Delete the synced block from your document (the source page is untouched)

Resizing

Drag the side handles to adjust the block's width. Height adapts automatically to fit the content — no manual sizing needed.

What Happens When Things Change?

Synced Blocks are designed to handle real-world scenarios gracefully:



Scenario

What You'll See

Source page is updated

Hit Refresh to pull the latest content

Source page is deleted

A clear message: "Source page no longer exists"

You lose access to the source

A message: "You don't have access to the source page"

You try to sync a page with itself

Blocked automatically: "Cannot sync a page with itself"

Network error during fetch

An error message with a Retry link

No silent failures, no broken layouts — just clear, actionable feedback.

Nested Synced Blocks

Yes, a synced page can itself contain synced blocks. We support up to two levels of nesting, which covers the vast majority of real use cases — like a project hub that syncs a requirements page, which itself syncs a shared glossary.

Beyond two levels, we stop and show a friendly notice: "Nested sync depth limit reached." This prevents runaway recursion if pages happen to reference each other in a cycle.

Synced Blocks in Shared Pages

When you share a page with your team or publish it publicly, synced blocks render seamlessly — no dashed borders, no editing controls, just clean content that reads as part of the page.

Of course, viewers still need access to the source page for the content to appear. If they don't have permission, they'll see a polite access message instead.

What's Stored (and What Isn't)

Here's an important design detail: we don't duplicate content. The synced block only stores a reference to the source page — its ID, cached title, and the last sync timestamp. The actual content is fetched fresh every time you open the document.

This means:

  • Your documents stay lightweight

  • Content is always up to date (on load or refresh)

  • Storage doesn't balloon when you sync the same page in ten places

A Few Things to Know

  • Content is read-only within the synced block. To edit, click "Open source" to jump to the original page.

  • Refresh is manual for now. When you open a document, synced blocks automatically fetch the latest content. After that, use the Refresh button to pull updates without reloading the page.

  • Rich content is fully supported. Tables, images, bookmarks, embeds, diagrams — everything from the source page renders inside the synced block, scaled to fit.

When to Use Synced Blocks

Here are some patterns we've seen work well:

  • Company wiki — Sync your brand guidelines into every project brief

  • Meeting notes — Embed a living action items page that updates as tasks get completed

  • Documentation — Sync a shared API reference into multiple guides without maintaining copies

  • Project dashboards — Pull in status pages from different teams into one overview document

  • Onboarding docs — Embed the latest policies and procedures, always current for new hires

What's Next

This is V1 of Synced Blocks, and we have ideas for where to take it:

  • Real-time sync — Content updates automatically as the source page changes, no manual refresh needed

  • Block-level transclusion — Sync specific sections of a page instead of the whole thing

  • Sync status indicators — Visual badges showing whether content is fresh or stale

We'd love to hear how you use synced blocks and what would make them even more useful for your workflow.




Synced Blocks are available now for all users. Open any document, type /sync, and give it a try.