Email editor
The composer is where a campaign brief becomes an email your team can inspect. Bring together the message, layout, sender, customer data and brand kit, whether the email belongs to a broadcast, a template or a workflow step.
Build a first message
For a product announcement, start with a subject, a short explanation and one button to the product page. Select your verified From sender and published brand kit, then inspect Data for the recipient key. Add a greeting with a fallback, preview two customers and use Send test to inspect the result in an inbox. Design an email walks through this job; the sections below explain each control.
Choose an editor before you write
Templates offer four editor starting points. A new broadcast asks for its audience first, then offers the same editor and sending-mode choices before opening Composer. An existing broadcast without email content offers Add content.
| Editor | Good for |
|---|---|
| Dynamic Composer | Multi-column responsive builder. For designed emails with responsive sections and columns. |
| Plain Composer | A simpler HTML layout for a direct, written message. |
| MJML Code | Write MJML directly. Responsive layout, full control. |
| HTML Code | Write raw HTML directly. Total control, you own the responsiveness. |
Your choice sticks for the life of that email. Switch editor offers a few one-way moves out of the visual builders, but nothing ever comes back, and a code editor never becomes visual again. If you want a different starting place, start a new template or broadcast.
Find the control you need
The panel beside the email has four tabs. On narrow screens it collapses to icons; select a tab to open it over the canvas.
| Tab | Use it to |
|---|---|
| Design (Outline in code editors) | Change the selected block, subject, preview text or email setup. The selection trail tells you what you are editing. |
| Personalize | Review Adaptyle prompts and variables, select runtime AI settings and read the cost estimate. |
| Data | Declare the values the email needs, choose its recipient and inspect sample data. |
| Checks | Find errors and warnings that affect readiness. |
The maxinja input at the bottom of the panel follows that context. “Make this shorter” on a selected subject is a subject edit; the same request on the whole email is a broader brief. Read the scope label before sending your request. Changes are saved to the current email, so review the result before scheduling or sending.
Say whether it is marketing or transactional
A template’s creation flow lets you choose its sending mode. For an existing broadcast or workflow email, check the mode configured on its content. The mode is fixed when that email is created and cannot be changed afterwards.
- Marketing reaches only contacts who subscribed, and maxclicks manages the unsubscribe link for you.
- Transactional does not require a marketing subscription and carries no marketing unsubscribe link. Sending still checks suppression, the sender, available capacity and account status. Use it for service messages such as a receipt or a password reset.
This lives on the content, not on the send. However you send it later, an email written as marketing stays marketing.
Marketing email can only go to a contact. A template addressed to a bare email address has to be transactional.
Set who it comes from
From sits at the top of the editor and is required. Either pick one of your saved senders, or pick a verified domain and type the part that goes before the @ plus an optional display name. New domain choices must be verified for sending. An already selected domain can remain visible with an unverified warning so you can repair it; its presence does not mean it can send.
Route replies and copies
In email-level Design → Sender (or Outline in code editors), expand Reply to, Cc and Bcc. Enter comma-separated addresses, optionally with display names, and press Enter or leave the field to save them.
Reply to directs replies to a different address. Cc and Bcc receive copies of the same personalized email; Cc is visible to other recipients, while Bcc is hidden. They are fixed addresses on this email configuration, so a broadcast can send them a copy for every audience recipient. Review that choice before a large send. Copies consume recipient allowance, and a suppressed envelope address can block the attempt. They are not additional contacts used to personalize the message.
Tell it what the email needs, and who it goes to
Open the Data tab beside the email. Two things live there:
- The list of information the email is allowed to reference: a contact, an order, a plain value you pass in. Anything not on the list cannot be used in the content.
- To, the one entry the email is addressed to. Only a single contact record or an email-address value can be picked.
The same tab holds the sample data the preview renders against.
The available controls depend on whether you opened a template, broadcast or workflow email. Data and recipient covers it in full: adding and removing properties, the naming rules, why some recipients are not offered, and what a broadcast locks that a template does not.
Bring in your brand
Email setup in Design lets you select a published brand kit, an asset collection, a color palette and a style pack. Only published kits appear. Your choice arrives in the email as branding, so you write {{ branding.logoUrl }} with Liquid instead of pasting colors and logo links by hand. References resolve from the branding used for that render; already sent or frozen campaign content keeps its existing values.
Personalize it
Two tools, available in all four editors and in the subject line as well as the body:
- Liquid drops in a value maxclicks already has, like a first name, and adds simple logic.
- Adaptyle takes an instruction in plain English and uses the email’s selected runtime model to write that passage for each recipient.
Tag links for your analytics
Email-level Link tracking uses the workspace’s UTM settings for marketing email. Set Campaign to a name you recognize in your analytics, such as new-roast-september; leaving it blank uses a normalized version of the broadcast, template or workflow name. Source and medium normally come from Settings → Link tracking.
At rendering, maxclicks adds the configured utm_campaign, utm_source and utm_medium values to eligible absolute HTTP or HTTPS links, replacing those same parameters when already present. Platform links such as preferences are excluded. Transactional email is not tagged by this feature. UTM attribution in your website analytics is separate from the email delivery and engagement reports.
Preview it before you send
The Preview button renders the email against your sample data.
If the email has no Adaptyle instructions in it, the Base preview resolves it without a model call. If it does, the panel gives you two views: Base, the email as written with the instructions stripped out, and Personalized, which stays empty until you press Generate preview.
Generate preview requests personalized rendering and spends credits when a prompt reaches the model. maxinja can also generate samples as part of an authoring task. It also needs a model and a thinking depth configured under Personalize → Runs with, and it will not run while the email still has blocking errors.
Send test sends the current rendered sample to the address you enter. It prefers the generated personalized sample when one exists, otherwise the Base sample; switching the displayed tab to Base does not change that priority. The test does not apply this template’s Cc or Bcc configuration. Render a preview first; then use a complete sender on a verified domain. The server also checks edit permission, email allowance, sending status and recipient suppression.
A test is a real transactional email and uses your email allowance. It has no contact association and does not start your workspace’s email-event workflows or webhooks through the test-send action. It verifies the rendered content and inbox appearance; it does not verify the production recipient mapping, marketing consent or audience selection. If its outcome is unknown, check email history before attempting another send.
Check it is ready
Open Checks in the right panel to see Ready to send, an issue count or a warning count. Issues are grouped under Sender, Recipient, Data, Content, Brand kit, Topic and Sample & preview, so you can identify what needs attention.
The editor’s readiness check requires a sender, a valid recipient, a subject, a body and a preview that rendered without errors. When the content carries Adaptyle instructions, the model and thinking depth under Personalize have to be set as well, because that pair is what writes the content on every send. There is no default behind them.
Read the estimate before scaling up
Under Personalize, the Estimate section separates generation, possible corrections, pilot reviews, rolling reviews, sending and campaign operation costs. A broadcast uses the current audience count; other editor surfaces let you choose an assumed audience size.
- Not fully estimated means at least one cost is unknown. The known partial subtotal is not a complete campaign budget.
- Preview generation scenarios use the selected model and sample. They are not guaranteed price bounds or an average across the audience, and are not added into the campaign total.
- Recipient-dependent means a Liquid condition may leave AI instructions for some recipients and remove them for others. One static preview does not establish that the campaign has no AI usage.
- Completion time: Not calibrated is not a delivery promise. Available daily capacity is shared and checked again before sending.
- A quality-review warning means the draft is not yet cleared for AI campaign delivery.
Open How this estimate works for the assumptions behind the figures. Use Billing usage for actual charges.
Moving to code later
Switch editor offers the one-way moves, and it only appears in the two visual builders. From the Dynamic Composer you get Code Editor, which writes your layout out as MJML source, and Simple HTML, which flattens sections and columns into the Plain Composer's block list and discards your preview text along with every link set on an image. From the Plain Composer you get Code Editor, which writes your blocks out as HTML. maxclicks asks you to confirm each of these, because none of them can be undone.
The editor’s maxinja input can draft or refine the current email. Select a subject, section or block to give the request that context, then describe the change. This edits the saved draft. An Adaptyle instruction has a different job: it stays in the template and runs when recipient content is rendered.
Sending what you built
Author content in the app, manually or with maxinja. The Public API sends an existing template with data; it does not expose subject/body authoring. See templates for application-triggered messages and broadcasts for a one-time audience send.
Editor readiness checks the draft and sample. Public template sending validates its actual inputs at execution time; it does not require the editor’s saved sample preview. Execution still checks current eligibility, available credits and sending capacity. An AI broadcast must also satisfy its campaign preparation and quality checks. A successful preview is not approval to bypass those checks.
Related
- Data and recipient: what the email is allowed to reference, who it goes to, and what each surface locks.
- Sample data: the stand-in record the preview renders against.
- Fonts: what the font picker offers and what your reader actually sees.
- Adaptyle and Liquid: personalization.