Skip to content

Roles and Permissions

This feature is available with the Plugin for Business plan and higher.

If you're on the Plugin for Startup or Plugin Expansion plan, consider upgrading to access this feature. For more details, visit our pricing page or contact support.

The Roles and Permissions feature in the Topol Plugin allows you to manage who can edit, lock, or view email content and structures within the editor. This is especially useful for teams working collaboratively, where you might want to restrict editing access for certain users to prevent accidental changes or to enforce content review workflows.

We allow locking of both:

  • Structures (such as layout rows and sections)

  • Content (like text, images, or buttons inside a structure)

Once locked, the item becomes non-editable unless the user has the appropriate role (e.g., Manager).

Available User Roles

You can choose from three predefined roles. The table below compares what each role is allowed to do:

Capabilitymanagereditorreader
Lock and unlock structures or contentYesNoNo
Edit unlocked contentYesYesYes
Edit locked contentYesYesNo
Best suited forAdmins, lead designers, or content gatekeepersRegular team members who need to modify content but should not manage lockingReviewers, approvers, or clients who should not alter the design

How to Set a Role

Roles are assigned via the role option in TOPOL_OPTIONS when initializing the editor:

ts
role: "manager" | "editor" | "reader";

You can dynamically assign this value based on your app’s user permissions, making it easy to implement role-based access control in multi-user environments.

Locked structure by Manager

Overriding Individual Permissions

Each role comes with a sensible set of default permissions, but you may want finer control over a single capability without switching the user to a different role. The optional permissions object in TOPOL_OPTIONS lets you do exactly that.

Permissions are applied on top of the selected role: the role sets the defaults first, and any flag you provide in permissions overrides that default. Flags you leave out keep the value defined by the role.

All flags are optional booleans:

ts
role: "editor",
permissions: {
  canLockBlocks: true | false,
  canLockSections: true | false,
  canEditLockedSections: true | false,
  canEditLockedBlocks: true | false,
  canRemoveFiles: true | false,
},

Each flag is described below:

FlagDescription
canLockBlocksWhether the user can lock and unlock content blocks.
canLockSectionsWhether the user can lock and unlock structures (sections).
canEditLockedSectionsWhether the user can edit structures that are locked.
canEditLockedBlocksWhether the user can edit content blocks that are locked.
canRemoveFilesWhether the user can delete files and folders in the File Manager. When false, the delete button is hidden, even after files are selected.

All three roles allow file removal by default, so setting canRemoveFiles to false is the way to prevent users from deleting files and folders, regardless of their role.

Adjusting Color Theme of Locked Elements

Locked elements are visually marked in the editor UI so users can easily distinguish which sections are editable.

The color theme of locked elements can be adjusted by following this guide.