Canonical email library. Every Marbl product sends transactional and marketing email through the same template foundation. Templates live in ./templates/ as TypeScript; each one exports a build function plus product-specific config constants (e.g. LUMA_DAILY_DIGEST, ATLAS_WELCOME).
Consumers import the canonical, pass their config, and pipe the returned { html, text } straight into Resend. Pre-rendered samples below show the output with realistic mock data. See README, USAGE, and BRAND-RULES for integration detail.
Evening intelligence briefing sent 20:00 UTC by scripts/pipelines/email-delivery.mjs. Header logo, personalised greeting, both edition headlines linking to digest pages, optional Featured Insights list (filtered to subscriber's categories), Listen Now CTA, signature block + unsubscribe footer. Mock data shows two editions plus six featured articles across every Luma category.
Sent after verification. Per-product config (LUMA_WELCOME, ATLAS_WELCOME) sets the tagline, headline, what-to-expect bullets, CTA and link cluster. Mock data uses the LUMA_WELCOME config.
Email verification / waitlist confirmation. Per-product config (LUMA_VERIFICATION, ATLAS_VERIFICATION) sets the heading, body text, CTA label, subtext and ignore line. Mock data uses the LUMA_VERIFICATION config.
Internal alert sent to [email protected] when Nura captures a new lead. Includes name, contact details, key discussion points and interests. Mock data shows a realistic warm-lead handoff.
Sent to the visitor after a Nura conversation, with their explicit consent. Includes a structured recap of the discussion, Book-a-Call and WhatsApp CTAs, plus alternative contact links. Mock data shows a four-message recap.
Sent when a user verbally asks Nura mid-conversation to email them content (via the ElevenLabs send_email tool). Different from conversation-summary in that the user requests it explicitly during the chat. Mock data shows a three-point recap the user asked Nura to send.