What are Modules? How to Save and Reuse Them
1 What are Modules?
A Module is a reusable email building block — a structure or stripe that you design once and save to your library. Instead of rebuilding the same product card, header, or footer from scratch in every template, you save it as a module and drop it in with one drag.
Common module examples:
- Email header — logo, navigation links, pre-header text
- Product card — image, title, price, CTA button in a 2-column layout
- Footer — unsubscribe link, social icons, company address
- Testimonial block — avatar, quote, attribution
- CTA banner — background image with centered headline and button
- Pricing table — 3-column feature comparison
Modules are saved at the account level. Every team member on the account can access, insert, and build on the same module library.
Modules can be saved from structures (column layouts) or stripes (full-width sections). Both preserve all content, styling, and data connections.
2 Saving a Module
From a Structure
- Hover over a structure in the canvas to reveal the element toolbar.
- Click the save icon (bookmark icon for regular modules, lightning bolt for Smart Elements).
- Enter a name and optional category for the module.
- Click Save.
From a Stripe
- Hover over the stripe's edge to reveal the stripe toolbar.
- Click the save icon.
- The entire stripe — including all its structures, containers, and blocks — is saved as a single module.
What Gets Saved
When you save a module, MiN8T captures:
- HTML — the generated email-safe HTML markup
- CSS — extracted inline styles for backgrounds, padding, typography
- Source data — the full JSON structure (deep clone) so the module can be re-inserted with all its original data intact
- Properties — editability flag, padding values, background color, column count
- Smart Element config — if the element is connected to a data source, the full configuration (URL, selectors, variables, mappings) is preserved
The save button label dynamically changes: "Save as Smart Element" (with lightning bolt icon) when the element has an active data connection, or "Save as Module" (with bookmark icon) for regular elements.
3 The Module Library
Saved modules appear in the editor's sidebar under the Modules tab. The library shows:
- Module thumbnails — visual preview of each saved module
- Module name — the name you gave it when saving
- Category — optional grouping for organization
- Type indicator — whether it's a structure-level or stripe-level module
Managing Modules
- Rename — click on a module's name to edit it
- Delete — remove modules you no longer need
- Categorize — organize modules into categories (headers, footers, cards, etc.)
4 Inserting Modules into Templates
Drag and Drop
Drag a module from the library sidebar and drop it into the template canvas. The module is inserted at the drop position:
- Structure modules — drop into an existing stripe to add a new row
- Stripe modules — drop between existing stripes to add a new section
Editing After Insertion
Once inserted, the module becomes a regular part of the template. You can:
- Edit text, images, and button content
- Modify styling (colors, fonts, padding)
- Add or remove blocks within the module's containers
- Resize columns
Changes to an inserted module do not affect the saved module in the library. Each insertion is an independent copy.
Modules are copied on insertion, not linked. If you update the saved module, previously inserted copies are unaffected. This is by design — it prevents unintentional changes across templates.
5 Smart Element Modules
When you save a Smart Element as a module, the data connection is preserved. This means:
- The source URL, extraction method (OG tags / CSS selectors / data source), and all variable mappings are saved with the module
- When inserted into a new template, the module is pre-connected — it already knows where to pull data from
- For AMP Data Source connections: the data source ID, endpoint URL, field names, and block-to-field mappings are all retained
Use case: build a product card Smart Element, connect it to your product catalog data source, auto-map the fields, style it perfectly, then save it. Now drop it into any promotional email and it's immediately live.
Smart Element modules appear with a SMART badge in the canvas toolbar after insertion, just like any other Smart Element. The Data tab in the property panel shows the pre-configured connection.
6 Source Data Preservation
MiN8T saves the complete source data (the full JSON structure tree) with every module. This is different from just saving the rendered HTML — it preserves the semantic structure so the module remains fully editable:
- Structure modules include: column count, column widths, all containers, all blocks with their content and styles
- Stripe modules include: stripe type (header/content/footer/info), background settings, all structures within the stripe
- Block content is preserved exactly: text formatting, image URLs, button links, form configurations
- Smart Element config is deep-cloned: extraction method, variables, transforms, AMP data source mappings
This means inserting a module from the library gives you a fully editable copy with all the original structure — not just a flat HTML blob.
7 Next Steps
- What are Structures and Containers? — understand the hierarchy that modules are built from
- What are Smart Elements? — connect modules to live data sources
- What are Data Sources? — create the data that powers Smart Element modules
Last updated: April 2026. All details verified against MiN8T's actual codebase implementation.