AI Template Studio
GrapesJS email builder
Prompt
Re-engagement email for subscribers inactive 90+ days. Friendly tone. Offer a 20% discount. Include unsubscribe option.
We miss you — here's 20% off to come back
It's been a while, {{contact.firstname}}. Your exclusive offer is waiting.
Good to see you again, {{contact.firstname}}
It's been a while since your last visit. We wanted to reach out with something special…
Claim your 20% discount →
Preflight checks
Description
Writing email templates in Mautic takes time. You start with a blank GrapesJS canvas, build structure from scratch, drop in tokens, check links, and only discover problems after the first test send.
AI Template Studio changes the starting point. You describe the email you need, and the plugin generates a full MJML template — structured, editable, and ready to open in GrapesJS. Then you edit. The AI handles the structure; you handle the final copy and brand details.
Before anything is published, the plugin runs preflight checks: token validity, link integrity, layout safety, and Mautic-specific hazards that generic email tools miss. You catch problems before your first test send, not after.
Who It Is For
- –Marketing teams that need to produce email drafts faster without losing editability
- –Agencies managing high email volume across multiple Mautic clients
- –Operators who want consistent structure and validation built into the publish workflow
Features
- –Describe the email in plain language — the AI generates a full MJML template
- –Output opens directly in Mautic's GrapesJS visual builder — no copy-paste, no conversion
- –Override content block by block before committing the generated template
- –Connects to a configurable AI backend — use your own API key and model
- –Prompt templates stored in the database for team reuse and iteration
- –Brand settings (colors, fonts, logo URL) applied automatically to generated output
- –Copy guidelines configurable per installation to keep tone consistent
- –Token validation: catches undefined or misspelled Mautic tokens before publish
- –Link validation: checks for broken and placeholder URLs
- –Preflight checks for Mautic-specific hazards: missing unsubscribe links, unsafe fallback text, layout issues in common clients
Installation
This plugin requires Mautic 7, PHP 8.1 or later, and an API key for a supported AI model.
Download the ZIP package:
- 1.Download AiTemplateStudioBundle-0.1.0.zip
- 2.Verify the checksum: AiTemplateStudioBundle-0.1.0.zip.sha256
- 3.Extract the ZIP into your Mautic `plugins/` directory
- 4.Run:
php bin/console cache:clear
php bin/console mautic:plugins:reloadThe ZIP includes a full `INSTALL.md` with step-by-step instructions.
All published releases are listed on the release index.
Enable from Settings → Plugins, then configure your AI backend credentials under Settings → AI Template Studio.
The in-app guide is available at mautic.bse-corp.com/s/ai/template-studio/guide (requires Mautic login).
Configuration
// Configured via the admin UI — no config file changes required
// Settings include:
// - AI provider and model (OpenAI, Anthropic, or compatible endpoint)
// - API key
// - Default brand colors and font stack
// - Copy guidelines (tone, language, prohibited phrases)
// - Max tokens per generation requestWhat It Does Not Do
- –The AI does not write perfect copy on every run — always review and edit before sending
- –It does not publish templates automatically — publishing is always a manual step
- –It is not a general-purpose design tool — it generates email templates for Mautic specifically
Changelog
- –Prompt-to-MJML template generation via configurable AI backend
- –Output renders directly in Mautic's GrapesJS visual editor
- –Per-block content overrides before committing to template
- –Token and link validation against your Mautic configuration
- –Preflight checks for layout, fallback text, and Mautic-specific hazards
- –Prompt templates stored in the database — reuse and share across your team
- –Brand and copy settings applied automatically to generated output
Feedback
Found a bug? Have a feature idea? Something unclear? Use the form below.