Designing and personalizing email
Your team owns the message across every sending path. The shared composer lets you build a branded email for a broadcast, template or workflow step, select the customer context, and inspect recipient previews.
Four content modes
Choose the editor around the message you want to build.
| Choose | When it fits |
|---|---|
| Dynamic Composer | A visual newsletter or announcement with images, sections and columns that adapt to mobile. |
| Plain Composer | A direct note with text, a button and a simple top-to-bottom layout. |
| MJML Code | Your team already has MJML or wants to author a responsive layout in code. |
| HTML Code | Your team brings finished email HTML and will maintain its layout. |
The choice is made when the email is created. All four support Liquid and Adaptyle. The visual editors can make certain permanent moves to code, and Dynamic Composer can move to Plain Composer; moving to Plain drops preview text and image links. Check the switching rules before changing an existing email.
The API cannot write email content. It reads a template's content back as raw markup and sends it; the subject and body are authored in the app or by maxinja.
Try a simple announcement
Open a draft broadcast in Dynamic Composer. Add a short subject, one paragraph announcing the product and a button to its page. Select a verified From sender and your published brand kit. In Data, inspect the contact key and choose a sample customer.
Start with a greeting such as Hi {{ contact.firstName | default: "there" }},, replacing contact with the key the panel actually shows. Preview a named customer and an unnamed one: the greetings should become “Hi Ada,” and “Hi there,”. That is a useful first personalization before adding generated copy.
Data and branding
An email lists the information it needs, like the contact and their order. Each entry has a name, such as contact or order, and you use those names when you personalize. maxclicks adds one more for free on every send, branding, so the selected brand kit (colors, fonts, assets, voice) is there without you passing it in. See schemas for how the underlying records are defined.
Two layers of personalization
Rendering first resolves supplied Liquid values. An AI pass runs when the email contains Adaptyle instructions.
Liquid is how you drop in values you already have, plus a little if-this-then-that logic. It applies deterministic rules to the data for that render without a writing-model call. Changing data or time-based expressions can change the result.
Hi {{ contact.firstName | default: "there" }},
{% if order.total > 100 %}Thank you for your order.{% endif %}
Adaptyle writes the passages you mark using the recipient context selected for that email. Any evaluated fields you select are resolved first. Describe the writing job and how to handle missing information, then inspect several recipient samples. Later generations can vary.
You write these instructions straight into the content. Give an instruction on its own for the email’s selected runtime model to write something new. To have it rewrite text you already have, put the instruction first, then :::, then the text.
<<>>
<< The rendering model runs when Adaptyle instructions remain after Liquid resolves for that recipient. No remaining instructions means no generation call, while sending and application work remain separate. Corrections and campaign reviews can add model usage. Use AI where customer context changes the message. Keep essential offer amounts, dates and links in fixed content or Liquid. See billing for how usage is priced.
Know what a preview proves
A preview shows one sample at one moment. It helps you catch missing values, unsuitable wording and broken layout. A test email checks that rendered sample in an inbox. Neither establishes the production audience, consent, sufficient credits or campaign quality release.
The editor’s Data, Personalize and Checks tabs make those inputs and issues visible. Compare several samples and read the estimate before sending to an audience.
Next: send your first email, or read the editor reference for every block, mode, and Adaptyle detail.