---
title: "Content Blocks Options"
description: "Disable, hide, or annotate individual content blocks in the Topol Plugin editor sidebar using the contentBlocks option."
url: https://docs.topol.io/email-editor/guide/content-block-options.html
---

# Content Blocks Options

**The `contentBlocks` option controls which blocks users can put into a template.** Each block is configured on its own, so a block can stay visible but locked with an explanatory tooltip, or disappear from the sidebar completely.

## Configuration

Add a `contentBlocks` object to your `TOPOL_OPTIONS` and give each block you want to change its own entry:

```ts
contentBlocks: {
    text: { // name of core content block (text, image, button, ...)
        disabled: true | false, // when true, the block appears grayed out and cannot be dragged into the editor
        disabledText: 'Text In Tooltip', // a tooltip message that appears when hovering over a disabled block
        hidden: true | false, // when true, the block is completely removed from the sidebar and hidden from view
    },
}
```

Blocks left out of the object keep their default behavior.

> **WARNING**
>
> The object is validated as a whole. An unrecognized block name fails validation, and the editor then discards the **entire** `contentBlocks` configuration and shows an error notification instead of ignoring the single bad entry.

## Supported block names

These names are accepted as keys of `contentBlocks`:

`text`, `image`, `gif`, `button`, `divider`, `spacer`, `social`, `video`, `html`, `product`, `article`, `dynamic`, `carousel`, `loop`, `rating`

Availability differs between them. `carousel`, `loop`, and `rating` are [beta features](https://docs.topol.io/email-editor/guide/beta-features.html) that need enabling separately, while `article` and `dynamic` depend on the connected account. **`contentBlocks` restricts blocks that are already available and cannot make a block appear.**

> **INFO**
>
> The HTML block is configured under the name `html`. Structures and columns belong to a separate part of the sidebar, so `contentBlocks` does not disable or hide them.

## What each property does

**`disabled`** grays the block out and takes away its drag handle, which stops both dragging into the template and click-to-insert. The block stays in the sidebar.

**`disabledText`** sets the tooltip shown when hovering a disabled block, which is the place to explain why it is unavailable. It applies only while `disabled` is `true`.

**`hidden`** removes the block from the sidebar.

## Custom and API blocks

[Custom blocks](https://docs.topol.io/email-editor/guide/custom-block.html) and [API blocks](https://docs.topol.io/email-editor/guide/custom-api-blocks.html) are configured elsewhere. Each block definition carries its own `disabled` property, and neither block type supports `hidden` or a disabled tooltip.
