# Syndicate blocks

> Publish a section of your page as a Syndicate block, release updates to it, and install blocks other ESTAGE projects share with you by share code.

Source: https://knowledge.estage.com/elements/syndicate/
Part of the ESTAGE knowledge base (https://knowledge.estage.com). Full corpus: https://knowledge.estage.com/llms-full.txt

---
A **Syndicate block** is a section that one ESTAGE project publishes and other projects install.
The publisher keeps managing it: when they release a new version, every project that installed it
is told and can update in one step. A block travels by its **share code** — a code like
`SYN-ABC123` that the publisher gives to whoever should install it.

To reuse a section of your own across projects, use [My Blocks](/workspace/my-blocks/) instead —
saved blocks are your own copies and need no share code.

## Before you start

- **Publishing needs the visual editor.** Anyone whose role on the project includes
  **Building → Visual editor** can publish a section of it — see [Roles](/project-settings/roles/).
- **Installing needs the share code** from the publisher.

## Publishing a section

1. In the preview, select the element that wraps the section you want to share — the whole
   section, not a single heading or button inside it.
2. In the element panel header, select the link icon, **Publish to Syndicate**. The
   **Syndicate Block — Publish** panel opens.
3. Enter a **Name**. Installers see it when they load your share code and in their update
   notifications.
4. Select **Publish as Syndicate Block**.

The panel then shows the **Share Code** with a **Copy** button and the block's **Version**,
starting at 1. Send the code to whoever should install the block.

If the element is empty, the builder stops with *"Selected element is too small to publish as a
standalone block. Pick a wrapper that contains content."* Select its parent and try again.

### What gets shared

- **Exactly the element you selected**, with everything inside it — not the rest of the page.
- **The components it uses**, so it renders the same on the installer's site.
- **Images, fonts and other media files** stored in your project that the section uses.
- **Live parts**, such as a live stream or a live chat, keep running from your project. Installers
  see them, but their settings stay with you.

### Adding a preview image

After the first publish, the panel shows **Preview image**. Drop an image on it or select it to
upload — PNG, JPG, WebP, GIF or AVIF, up to 8 MB. Installers see it when they open **Preview** on
an update; without one they see *"No preview image uploaded"*. To change it, select the image
(**Click to replace**) and upload another.

## Publishing an update

Edit the section on your page as usual, then publish the change:

1. Select the same element and select **Publish to Syndicate**. The panel recognizes the block and
   shows its share code.
2. Select **Update Block**.

The version goes up by 1 and the share code stays the same. Every project that installed the
block gets a badge on its notifications bell, and its builders choose when to update — see
[Getting the publisher's updates](#getting-the-publishers-updates).

The name is fixed once the block is published. Each **Update Block** releases a new version, so
select it once your changes are ready.

## Unpublishing a block

1. Select the element and select **Publish to Syndicate**.
2. Select **Unpublish block**, then confirm.

The share code stops working: nobody can install the block with it anymore. Projects that already
installed it keep their copy as it is, but they no longer receive updates from you.

Publishing the same section again afterwards creates a new block with a new share code and starts
again at version 1. Installers of the old block don't move to it on their own — they would install
the new code.

## Installing a block

1. In the preview, select the element the block should go next to.
2. Type **/add Syndicate Embed** in the chat, or pick **Syndicate Embed** in **⌘K**. The install
   panel opens.
3. Enter the **Share Code** and select **Load**. The panel shows the block's name and version.
4. Select **Install Block**.

If nothing is selected, the panel asks you to *"Select an element on the page to anchor the
block."* The block is added to the page next to that element.

If the block is already on your site, the panel says so: **Already up to date**, or **Update to
v…** when the publisher has released a newer version.

## Recognizing an installed block

Click a Syndicate block in the preview and the element panel shows a **Syndicate** badge with a
lock. The publisher manages the block, so its edit, delete and code controls are hidden. Parts it
carries — a live stream or a live chat, for example — show their settings as read-only, *managed by
syndicate publisher*.

## Getting the publisher's updates

When the publisher releases a new version of a block you have installed, the **notifications
bell** in the builder header shows a badge.

1. Open the bell and select **Preview** on the block to see which of your pages use it.
2. Select **Update**.
3. Confirm **Overwrite local changes?** with **Yes, update**.

Every copy of the block in the project is updated, and the preview reloads. If an update fails,
select **Try again**.

## Things worth knowing

- **Publish one element at a time.** **Publish to Syndicate** isn't offered while several elements
  are selected.
- **An installed block can't be published again.** On a locked Syndicate block, **Publish to
  Syndicate** isn't offered — only its publisher can release versions of it.
- **A block belongs to the person who published it.** Only they see **Update Block** and
  **Unpublish block** for it. A teammate who publishes the same section gets a separate block with
  its own share code.
- **Media files over 5 MB each, or over 25 MB together, don't travel with the block.** Link large
  images and videos from the web instead — linked files show on every site.
- **Updating replaces any local edits** to the block on the installer's site.
- **Share codes aren't secret.** Anyone with a code can install the block.
