AI Editor for emails
The AI Editor β Email of Unisoft is an email template editor that works through conversation: you describe the email you want, the AI generates it before your eyes, you refine it through successive messages until you like it. No drag-and-drop of blocks, no technical settings β only natural language.
This page details how to use it day-to-day, the rules imposed by the AI (HTML structure compatible with Outlook/Gmail), the available variables, the sending of a test email and all the specifics to know.
When to use itβ
The AI Editor β Email is particularly useful in these cases:
- You're starting a new template with no clear layout idea: a short prompt is enough to get a polished base.
- You have a simple brief ("Tishrei newsletter with image at top, two paragraphs and a button"): the AI produces in seconds what would take you 20 minutes by mouse.
- You want to test several ideas: the same brief can give three variants in three prompts β you keep the one you like via the history.
Conversely, if you have very specific HTML (template sent by a designer, pixel-perfect integration of a strict brand guideline), the classic editor remains more suitable: you paste your HTML and control it 100%.
Enable AI mode at creationβ
The AI Editor is chosen at the time of creation of an email template.
- 1
Open Email templates
Go to
/app/templates/email(entry My Email Templates in the admin sidebar). - 2
Click Add a template
Blue button at the top right. The add window opens.
- 3
Select AI Editor
In the Editor type field, choose AI Editor instead of Classic Editor. This field is only visible in non-production environments during the beta.
- 4
Name the template
Required field. Example:
Monthly newsletter (Tishrei 5786)orBrit Mila invitation β David Cohen. - 5
Leave the HTML field empty
You can ignore the HTML code field β the AI will generate the HTML for you. If you still paste HTML, it will serve as a starting point that the AI can modify.
- 6
Validate
Click on Validate. The template is created in the database and you are redirected to the AI Editor (route
/editor/ai/email?id=[ID]).
The interface in detailβ
The editor takes the whole screen: the backoffice sidebar is hidden during editing to give you space. It is divided into two panels:
Left panel β the conversationβ
From top to bottom:
- Header: AI avatar + template name (clickable for reference) + subtitle "Create your email by conversation".
- Variables bar: four buttons that copy a tag to the clipboard in one click (you then paste it in your prompt or directly in the HTML via a prompt):
{{nom}}β Recipient's last name{{prenom}}β First name{{prenomHE}}β Hebrew first name (if present in the contact profile){{mailing_unsubscribe}}β Unsubscribe link
- Images panel (collapsible): drag-and-drop area for your visuals. Click on the
Images (N)header to expand it. - Conversation history: your prompts (in black bubbles on the right) + the generation badges ("β Email generated β full HTML") + the AI summaries in English.
- Prompt field at the bottom: a textarea that grows up to 160 px in height, an arrow button to send (or Enter), and a square Stop button during generation if you want to interrupt.
Right panel β the previewβ
From left to right in the toolbar:
- Exit (red): returns to the Email templates page. Asks for confirmation if you have unsaved changes.
- Desktop / Mobile: toggles the rendering to fixed width 390 px (iPhone frame) to check responsiveness.
- Test: opens a window that lets you send a test email to the address of your choice (very useful to check the actual rendering in Gmail or Outlook, see below).
- Save: black if changes are pending, gray otherwise.
ββ: navigation in the version history.- History: opens a popup listing all generated versions with their timestamp and the start of the prompt that produced them.
Below, the preview iframe displays the rendering live. All clicked links open in a new tab (the editor intercepts clicks) β this avoids you leaving the editor by accidentally clicking on a button in the rendering.
Import imagesβ
The AI doesn't make images; you must provide your own visuals.
- 1
Open the Images panel
Click on the
Images (0)header in the left panel to expand it. - 2
Import
Drag and drop your files into the dotted area, or click on it to open the file picker. Accepted formats are all image formats (
image/*). - 3
Wait for upload
A loading bar displays while the image is sent to Unisoft servers (validation, conversion, final URL).
- 4
Reference the image in a prompt
Once imported, the image appears as a thumbnail in the panel. The AI can "see" it: you can write prompts like "Use the first image as a banner at the top of the email" or "Put the image I just imported in a centered card".
To remove an image, click the small black cross at the top right of its thumbnail.
Rules imposed by the AI (HTML structure)β
The AI follows strict rules to ensure that emails display correctly in all email clients (Gmail, Outlook, Apple Mail, Thunderbird, web and mobile). You don't need to know them to use them, but they explain certain limitations.
| Rule | Why |
|---|---|
| HTML tables only for layout (no flexbox, no grid) | Outlook ignores modern CSS and would break any layout not based on tables. |
Inline styles only (style="..." directly on the tag) | No <style> tag or external CSS file: Gmail removes or ignores them. |
Fixed width 600 px, centered on a #f4f4f4 background | This is the standard width supported by all email clients. |
| System fonts only (Arial, Helvetica, sans-serif) | Web fonts (Google Fonts, etc.) are not loaded in emails. |
Width/height of images in HTML attribute (width=, height=) in addition to CSS | Outlook ignores certain CSS image rules. |
| No JavaScript, no complex forms | Email clients block any script execution and most interactive forms. |
No :hover or animations | Not supported by most email clients. |
Mandatory structure: each generated email always contains 3 vertical blocks:
- Header: colored banner at the top with the logo or organization name.
- Body: main content on a white background.
- Footer: bottom banner with legal mentions and the
{{mailing_unsubscribe}}link (mandatory to comply with GDPR and anti-spam rules).
Available variablesβ
You can insert into the email personalization variables that will be replaced when sending by the recipient contact's data.
| Variable | Replaced by |
|---|---|
{{prenom}} | The contact's first name (David) |
{{nom}} | Their last name (Cohen) |
{{prenomHE}} | Their Hebrew first name if it exists on the contact profile (ΧΧΧ) |
{{mailing_unsubscribe}} | The personalized unsubscribe link (required in footer) |
Two ways to insert them:
- Click on the variable in the Variables bar β it is copied to the clipboard β you paste it in your prompt ("Start the email with Hello
{{prenom}}"). - Ask the AI directly: "Personalize the beginning with the recipient's first name" β it will use
{{prenom}}automatically.
For the complete list of variables and the contexts where they apply, see Email template variables.
Multilingual: no automatic injection for emailsβ
Unlike the AI Editor for web pages, email templates don't receive automatic injection of data-i18n keys at save time. One email template = one language.
Send a test emailβ
The preview in the iframe gives a good idea of the rendering, but nothing beats a real send to check what your recipients will see β especially for Outlook which often has surprises.
- 1
Click on Test
In the toolbar above the preview, click on the Test button (paper airplane icon).
- 2
Enter an address
A window opens. Enter the address of your choice β yours, your management's, a test Outlook inboxβ¦
- 3
Send
Validate: the email goes out immediately with the current HTML (the version displayed on screen). The variables
{{prenom}},{{nom}}are not replaced in a test β you will see the raw tags. This is normal: at the actual send via a campaign, they will be substituted by the contact's data.
Prompting best practicesβ
The AI produces what you ask of it. The more precise your request, the better the result.
Start with a general briefβ
Create a monthly newsletter for our community with:
- A burgundy-colored banner at the top with our name
- A central area for 3 paragraphs
- A featured card with image + "Learn more" button
- A sober footer with our contacts
The AI will produce a complete base. Then, you refine with small touches.
Refine with short messagesβ
Put the top banner in navy blue instead
Add a signature with "The Beth David community team"
The button is too pale, make it bright orange
Each prompt regenerates a complete email, but since the AI has the current HTML in context, it only touches what you ask.
Examples of useful prompts for a communityβ
- Holiday announcement: "Create an email to announce the Passover menu to the community, with the Seder time (Monday April 22 at 8:30 PM), the menu on a light background, and a Register for the meal button in a warm color".
- Donation reminder: "Sober email to remind about an unhonored donation pledge, kind tone, Pay online button at the bottom".
- Event invitation: "Invitation for a conference by rabbi Yossi Mizrahi on the parasha, Thursday 6:30 PM, image at top, location and map at bottom, I'm coming button".
- Holiday greetings: "Sober Rosh Hashanah greetings, golden background, elegant calligraphy, a single paragraph in Hebrew followed by its translation".
- Registration confirmation: "Transactional email to confirm a registration, warm tone, practical info (date, location, contact) in bold, team signature".
Set the toneβ
Specify in the prompt if you want something sober, warm, festive, institutional, modern, traditional. The AI adapts colors, margins and tone of the text.
Navigate the historyβ
Each prompt produces a new history entry. Three buttons at the top right of the preview:
β: go back one version.β: go forward (if you had gone back).- History: opens a popup with the complete list. Each entry displays the start of the prompt that generated it ("Put the banner in navy blueβ¦") and its generation time.
Save and exitβ
The Save button changes appearance depending on state:
- Gray: no changes since the last save (or since opening if you haven't changed anything yet).
- Black: pending changes β a click saves them.
On save, the server:
- Stores the current HTML and the list of imported images.
- Regenerates the thumbnail: a PNG screenshot of the email rendering is produced server-side (via a headless browser) and used as cover image on the Email templates page.
If you try to exit the editor without saving (Exit button, tab closing, browser back), a confirmation displays to avoid involuntary loss.
Use the template in a campaignβ
Once saved, your template appears in the My Email Templates grid like any other template, with its generated thumbnail. You can then:
- Rename it (click on the title).
- Duplicate it (blue icon) to start from a base and create a variant.
- Reuse it in a campaign: on
/app/messages/campagnesβ Create a Campaign β Email channel β Email template field.
See Email templates for complete template management and Create a message campaign for the next steps.
Limitations to knowβ
- Beta feature: visible only in non-production environments for now.
- No image generation by the AI: import your visuals via the Images panel.
- No switching AI Editor β Classic Editor: the choice made at creation is fixed.
- No block-by-block editing in the UI: everything goes through the chat ("Change the button color") or by returning to a previous version via the History.
- No integrated multi-language support on the email side: one template = one language (see dedicated box above).
- Variables not substituted in the test: at test send,
{{prenom}}remains displayed as-is. Substitution happens at actual send via a campaign.
Going furtherβ
- Understanding the AI Editor β transverse overview.
- Email templates β the management page (creation, duplication, renaming, deletion).
- Email template variables β exhaustive list by context.
- Create a message campaign β use the template in a bulk send.
- AI Editor for web pages β the equivalent variant for public site CMS pages.