Block types reference
A template is built from blocks. There are two categories — structure blocks (layout) and content blocks (the actual text and visuals). Every block supports per-block styling.
Structure blocks
Define the layout — they don’t carry content of their own.
- Logo Left — Header row with the logo positioned to the left
- Logo Right — Header row with the logo positioned to the right
- Section — A content container — wraps the rest of the row’s content for consistent padding and background
- Columns (1–4) — Multi-column layouts inside a row. Pick 1 for full-width, 2 for split, 3 or 4 for grid layouts
- Divider — Horizontal line separator between sections
- Spacer — Vertical whitespace between blocks
Use structure blocks to give the email visual rhythm — section, divider, section, footer. Without them, the content blocks just stack edge-to-edge and the email feels cramped.
Content blocks
Hold the actual text, images, and interactive elements.
- Text — Rich-text content with inline formatting (bold, italic, links). The workhorse of every template
- Heading — Section-level headers with size and weight presets
- Image — Upload from your computer or paste a URL; supports alt text and click-through links
- Button — Call-to-action button with link configuration, color, border radius, alignment, padding
- Merge Tags — Dynamic placeholders that get replaced with real values at send time — see Use merge tags
- Dynamic Blocks — Conditional content that shows or hides based on contact / conversation properties
Per-block properties
Every block exposes the same set of styling controls (when relevant for that block type):
- Colors — background color, text color, link color
- Typography — font family, size, weight, line height
- Spacing — padding (inside the block), margin (between blocks)
- Alignment — left / center / right
- Link configuration — for blocks with clickable elements (buttons, images, text with embedded links)
- Image handling — for image blocks, options for upload vs. URL, alt text, click-through
Setting a property at the block level overrides the template’s default for that block only. Setting it at the template level applies to every block that hasn’t overridden it.
Patterns that work
- Confirmation email — Logo Left → Section (Heading + Text) → Section (Button “View status”) → Divider → Section (small Text “If you have questions, just reply”)
- CSAT survey email — Logo Left → Section (Heading “How did we do?”) → Section (Columns of 1-5 star buttons) → Divider → Section (Text “Thanks!”)
- Internal notification — Logo Right → Section (Heading + Text with merge tags) → Section (Button to deep-link into the app)
Anti-patterns
- Fifteen separate Text blocks. Each Text block can hold rich-text with paragraphs, headings inline, and links. Splitting into many blocks doesn’t help layout — it makes the editor harder to navigate.
- Columns inside columns. Email clients render nested column layouts unpredictably. Stick to one level of column nesting.
- Heading blocks for body text. Heading blocks have specific size and weight defaults that don’t read like body content. Use Text blocks with rich-text headings for body context.