Email is THE number one important feature in Mautic, yet not the best or most beloved one.
Status quo:
- Most users find the current builder very limited (same even say ugly words about it ; )
- Some larger organizations swap it out and user other builders
- Some frustrated users prefer to build externally & just paste the source code into Mautic.
This has to change.
General options:
- get rid of GrapesJS altogether
- keep GrapesJS but swap out ckeditor
- stick with GrapesJS and ckeditor but make it much better.
My personal preference would be #3 because I feel that yet another change of horses would create even more frustration, and not necessarily trust in whatever comes next.
I also believe that ckeditor is not the root cause for most issues even if it seems to be. Also I am not convinced that another editor (especially a free one) can give us the same value. In the end: There were good reasons behind making that choice.
Therefore, we are currently testing the waters for â3. stick with GrapesJS and ckeditor but make it much betterâ.
And to do that, Iâd appreciate all the input we can get. Items we identified or received so far (intentionally unsorted):
- Inheritance: Content from GrapesJS blocks has to use the themeâs styling, currently it frequently doesnât
- Copy & Paste between email instances (solved, I believe)
- âSave email as themeâ feature
- If i click outside of the ckeditor modal window, that discards my changes (solved, I believe)
- Confusion between per-character font styling (ckeditor) and per-element font styling (GrapsJS) â Idea: Prevent per-element font styling for ckeditor elements
- Fully support dynamic content (incl. tokens), also for emails
- Fully support tokens incl. forms
- Sort token list
- Search in tokens
- Support MJML emails through API
- Simple vs. expert mode
- âTableâ element for MJML, and for HTML / Landing Pages
- Control ckeditor font choices from Theme
- Allow changing of link color
- Paragraphs are added by editor after saving email (issues with headlines, also: creates isolated elements even for empty lines, impossible to maintain afterwards)
- GrapesJs is still moving inline CSS to style tags #11934
- Code Editor in Landing Pages Duplicates Content into the Section #14409 (PR exists: fix(code-editor): prevent head duplication, remove empty < p >, confirm before discard (fixes #14409) #15398
- When I have a draft in some email, an create a fresh one, I am suggested to restore from that draft
- Inline ckeditor instead of modal window
- link property âdisable link trackingâ in ckeditor
- Dynamic Content - Copying Dynamic Content is not working (as intended) #15214
- Dynamic Content - Elements always come with default padding thats not removable in the builder #15209
- Dynamic Content - Deletion of filters is broken #15205
- Avoid âstuffâ from copy&paste e.g. from Word (format-free paste, or even whitelist-based paste)
- Documented way to strip down the ckeditor options in a Mautic instance (remove icons that are undesired)
- verify healthiness and future of GrapesJS builder Open Source project
- allow adding GrapesJS blocks through themes PR #13002
- do not require doubleclick to invoke creditor â not doing this, it is intentional tradeoff behavior of GrapesJS
Please help us out by adding your observations (bugs, UI flaws, bad code results, missing features, existing solutions, âŚ) here!

