> ## Documentation Index
> Fetch the complete documentation index at: https://docs.macro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Blocks

> Blocks are at the core of Macro's philosophy. They are designed to work together like legos.

Everything in Macro is a **block**. The current first-party block types are `md` (documents), `email`, `channel`, `chat` (agents), `automation`, `project` (tasks), `contact` (crm), `company` (crm), `call`, `canvas`, `code`, `image`, `video`, `pdf`, and `unknown` (fallback).

## Splits

On desktop (not on mobile), Macro has its own window manager that lets you multi-task in your browser in one tab. By default when you open Macro you have one *split*.

In general, you can use <kbd>shift</kbd>+click to open an @mention or list item in a new split.

Each split maintains its own history. Use <kbd>opt</kbd> <kbd>\[</kbd> or <kbd>opt</kbd> <kbd>]</kbd> to move back and forward, or just press the chevron icons in the top bar of the split.

Create a split with <kbd>cmd</kbd>+<kbd>\\</kbd>, focus left/right with <kbd>shift</kbd>+<kbd>h</kbd> / <kbd>shift</kbd>+<kbd>l</kbd>, maximize with <kbd>shift</kbd>+<kbd>escape</kbd>, close with <kbd>cmd</kbd>+<kbd>escape</kbd>.

<Frame>
  <img src="https://mintcdn.com/macro-a2d84caa/6_3-BMnomWDOCYR6/images/Screenshot-2026-06-09-at-4.49.29-PM.png?fit=max&auto=format&n=6_3-BMnomWDOCYR6&q=85&s=ef3e2964b040472044b9b20ea7459468" alt="Multiple splits open side by side in a single Macro tab" width="3456" height="2172" data-path="images/Screenshot-2026-06-09-at-4.49.29-PM.png" />
</Frame>

The number of splits you can have open at once is determined by your monitor size and zoom. If there isn't room for another split, Macro won't open a new one until you close one.

## Previews

Most block types have on-hover previews to provide context without needing to click. When you @mention a block in any markdown area (a task, doc, channel, etc.), anyone who hovers over the mention sees the preview. For example, here is a task preview:

<Frame>
  <img src="https://mintcdn.com/macro-a2d84caa/6_3-BMnomWDOCYR6/images/Screenshot-2026-06-09-at-4.49.50-PM.png?fit=max&auto=format&n=6_3-BMnomWDOCYR6&q=85&s=4399445e6484a0a3d20336ff6c50bb59" alt="A hover preview of a task mention showing the task's status and details" title="Task hover preview" className="mx-auto" style={{ width:"81%" }} width="1430" height="650" data-path="images/Screenshot-2026-06-09-at-4.49.50-PM.png" />
</Frame>

## Embeds

Most blocks embed read-only in a markdown doc, with editing and markup tools disabled. Note that permissions are not auto-granted for embeds or mentions in documents, unlike mentions in channels, where channel members get access automatically. You'll have to also share the files you embed.

<Frame>
  <img src="https://mintcdn.com/macro-a2d84caa/6_3-BMnomWDOCYR6/images/Screenshot-2026-06-09-at-4.50.07-PM.png?fit=max&auto=format&n=6_3-BMnomWDOCYR6&q=85&s=14aed1287a0e590db03068df54908520" alt="A block embedded read-only inside a markdown document" width="1780" height="1356" data-path="images/Screenshot-2026-06-09-at-4.50.07-PM.png" />
</Frame>

To create an embed, first create an @mention by hitting `@` or dragging and dropping, then hover and click **Convert to embed**.

<Frame>
  <img src="https://mintcdn.com/macro-a2d84caa/6_3-BMnomWDOCYR6/images/Screenshot-2026-06-09-at-4.50.18-PM.png?fit=max&auto=format&n=6_3-BMnomWDOCYR6&q=85&s=804abb4a8fd4374ce39eb941e26c205f" alt="The Convert to embed option shown when hovering an @mention" title="Convert to embed" className="mx-auto" style={{ width:"59%" }} width="934" height="386" data-path="images/Screenshot-2026-06-09-at-4.50.18-PM.png" />
</Frame>

## More about blocks

* **References, sharing & permissions**: every block has a References panel (backlinks to everywhere it's mentioned or embedded) and the same share dialog, with owner / editor / commenter / viewer access levels plus public links for documents.
* **Real-time collaboration**: collaborative blocks (docs, pdf markup) sync through **Loro CRDTs** over a **Cloudflare Durable Objects** backend: the Rust `sync-service` spins up one Durable Object "room" per document, and clients connect over WebSocket to `/document/:id`. This is what gives you multiplayer editing, presence cursors, and full offline support.
* **Search & Inbox**: one unified [Search](/product/search) index covers every block type, filterable by type and by mentioned person. The unified [Inbox](/product/inbox) pulls open notifications from across blocks into a single recency-sorted list.
