Skip to main content

Overview

Courier Elemental provides a comprehensive set of reusable content elements that you can combine to build structured, cross-channel notification templates. Each element type serves a specific purpose and supports rich properties, conditional logic, and localization.

Element Categories

Channel & Structure Elements

Elements for channel-specific customization and structure.
  • Channel - Channel-specific content customization
  • Meta - Metadata like titles and subjects

Content Elements

Elements for displaying text, images, and interactive content.
  • Text - Text content with rich formatting options
  • Action - Clickable buttons and links
  • Image - Embedded images with optional links
  • Quote - Quote blocks with styling options
  • HTML - Raw HTML content

Layout Elements

Elements for organizing and structuring content.
  • Columns - Multi-column layouts
  • Group - Group elements together for conditional logic
  • List - Ordered and unordered lists with nesting support
  • Divider - Visual dividers between content

Advanced Elements

Elements for advanced templating and development.
  • Jsonnet - Jsonnet templates for programmatic content generation
  • Comment - Non-rendered comments for documentation

Quick Reference

ElementDescriptionCommon Use Case
ActionClickable buttons and linksCall-to-action buttons, navigation links
ChannelChannel-specific contentDifferent content per email/push/SMS
ColumnsMulti-column layoutsSide-by-side content, product grids
CommentNon-rendered commentsDocumentation, notes
DividerVisual dividersSeparating sections
GroupGroup elements togetherConditional blocks, loops
HTMLRaw HTML contentCustom HTML structures
ImageEmbedded imagesLogos, product images, illustrations
JsonnetJsonnet templatesProgrammatic JSON generation
ListOrdered/unordered listsProduct lists, feature lists
MetaMetadata (titles, subjects)Email subjects, push titles
QuoteQuote blocksTestimonials, highlighted text
TextText contentBody text, headings, descriptions

Common Patterns

Control Flow

All elements support control flow properties:
  • if - Conditional rendering
  • loop - Repeat elements
  • ref - Reference elements
See the Control Flow documentation for details.

Localization

Many elements support the locales property for multi-language content:
  • content - Localized text content
  • title - Localized titles (meta element)
  • href - Localized URLs (action, image elements)
See the Locales documentation for details.

Getting Started

  1. Start with the basics: Use Text and Action elements for simple notifications
  2. Add structure: Use Group and Columns for complex layouts
  3. Customize per channel: Use Channel elements for channel-specific content
  4. Add interactivity: Use Action elements for buttons and links