New email blocks — Discount, Event, Deck, Video

Beyond the standard blocks (text, image, button, columns), Email Campaigns has four blocks that pull live data from other Turtini modules — so the campaign always reflects the current state at send time.

Discount block (discount-embed):
• Pick an active discount code from your Discounts module
• At send time, renders the code, savings amount, expiry, and usage caps
• Use case: "Save 20% with code SPRING20 — expires Friday"

Event block (event-list):
• Pick one or many upcoming events from your Events module
• Renders event title, date, location, and ticket link
• Auto-filters out events whose date has passed
• Use case: monthly newsletter listing all upcoming events

Deck block (deck-embed):
• Embed a Slide Deck (from the Decks module) as a preview thumbnail with a "View deck" CTA
• Recipients click through to the live deck (presenter mode if shared publicly)
• Use case: pitch deck announcement, quarterly investor update

Video block (video-embed):
• Paste a YouTube, Vimeo, or Loom URL
• Renders as a thumbnail with a play overlay (most email clients can't play video inline)
• Click takes recipient to the source URL
• Use case: product demo, recorded webinar promo

Adding a block:
1. Open the composer
2. In the left block library, scroll to "Live data" section
3. Click the block to add — it's appended at the bottom
4. In the inspector, pick the source (which discount, which event, etc.)

Server-side hydration:
These blocks render placeholder copy in the composer preview but pull live data at send time — so the discount expiry, event date, and deck thumbnail are always current. Schedule a campaign for next month and the data still resolves at the moment of send.