Skip to main content
Every template in Denada is built on top of a library. The library defines which blocks are available and how they look; the template fills in the content. This page covers how libraries and templates work together.

Selecting a library

When you create a new template — whether through AI chat or manually — you choose which library it will use. The library determines the set of blocks you can add and the overall design style of your email. If your team has multiple libraries (for example, one for newsletters and one for promotional emails), pick the one that matches the type of content you are creating.
If you are not sure which library to use, ask Denada. It can recommend a library based on what you are trying to build.

The block picker

Once your template has a library assigned, you add content by inserting blocks from that library.
  1. Click the Add block button in the editor.
  2. The block picker opens, showing all blocks available in the template’s library.
  3. Browse the list or search by name.
  4. Click a block to add it to your template.
Each block appears as a preview card so you can see what it looks like before adding it.

How parameters get filled in

Every block comes with a set of parameters defined by the library — things like headline text, images, button labels, and colors. When you add a block to a template, these parameters start with default values (or empty, depending on the library design). You fill in parameters in two ways:
  • In the editor — select a block and edit its parameters in the right sidebar.
  • Through AI chat — describe what you want and Denada fills in the parameters for you.
The library controls which parameters exist and what types they accept. You cannot add new parameters to a block from the template editor — that is done at the library level.

Forking a library

Sometimes you need to make design-level changes to a library for a specific template without affecting other templates that use the same library. In that case, you can fork the library. Forking creates a copy of the library that is linked only to your template. Changes to the fork do not affect the original library, and updates to the original do not flow into the fork. When to fork:
  • You need a one-off layout change for a specific campaign.
  • You want to experiment with design changes without affecting the rest of your team.
  • A client needs a customized version of your standard template.
A forked library is independent of the original. If the original library gets updated (new blocks, bug fixes, design improvements), those changes will not automatically appear in your fork.

Library versions and updates

When you create a project, it uses a snapshot of the library at the time it was created. If the library is updated later (new blocks, design changes, bug fixes), your existing projects are not affected until you choose to update. When an update is available, the Options tab shows a notification badge and the Library section displays an Update available label. Click the library to see your options:
  • Update — pull in the latest library version.
  • Change version — browse all available library versions (including named releases and automatic checkpoints) and pick the one you want. The current version is labeled so you always know where you are.
  • Change library — switch to a different library entirely.
  • View library — open the library to see its blocks and structure.
This gives you full control — you can stay on a stable version for approved campaigns, roll back to a previous version if needed, or pull in the latest changes when you’re ready.

How it all fits together

  1. Library defines the available blocks, their structure, and their parameters.
  2. Template selects a library and assembles blocks in a specific order with filled-in parameter values.
  3. Variations (optional) let you create multiple versions of the same template with different parameter values.
This separation means your brand’s design system lives in the library, while individual campaigns live in templates. Update the library once and every unpinned template picks up the change.
If you need blocks that do not exist in your current library, you can either add them to the library (if you have permission) or ask the Denada team to extend the library for you.