- Understand why an agent-built email exports correctly
- Use an agent that does not have the Email Love workflow installed
- Create a new email root when the file has no donor frame
- Save an agent-built block as a reusable design-system module
The tools in this workflow
Each tool has a different job:- The Email Love workflow for Claude or Codex teaches the agent how to build export-safe emails. Installing it does not connect an MCP server.
- The official Figma MCP lets the agent read and write your Figma canvas. Normal email builds require its
use_figmatool.
Why these emails export
An email can look correct in Figma and still export as a flat image or lose content. Email Love structure includes plugin data that is not visible on the canvas, so an agent must not invent its own email scaffolding. The Email Love workflow uses one of two routes:Route A: instance published components
When the file has a synced design system, the agent places instances of itsmj-wrapper components. It can change text, images, properties, links, and approved mobile settings. It does not detach the instance or rearrange its internal layers.
Route B: generate and transcribe structure
When the file has no matching component, the agent sends the customer’s design to the same conversion engine as AI Import. It receives structured MJML and transcribes that structure into Figma nodes. If neither route can produce a section, the agent stops and asks. It does not draw an email-shaped frame and pretend it will export.Use another agent
Claude and Codex should use the official Email Love workflow. If another agent has the remote Figma MCP but no Email Love workflow, give it this starter prompt:Create an email root from scratch
Duplicating an existing Email Love email is safer because the copy carries every plugin setting. When no donor exists, an agent can create the empty root and opt it in with this public marker:Save a block for reuse
An email and a reusable module have different top nodes:- An email template is a whole email with a root frame carrying the template marker.
- A module is one reusable
mj-wrappercomponent with no template marker on it or inside it.
1
Select a design system in the Figma plugin
Use the dropdown in the top left.
2
Open the destination section
Choose Header, Heroes, Single Column, Footer, or the closest existing category.
3
Select the wrapper components on the canvas
You can select several wrappers and upload them as one batch.
4
Click Upload and confirm
The plugin reports the success and failure count when the batch finishes.
Advanced limits
- Agents assemble better than they draw. Published components are the strongest source of structure and brand consistency.
- Treat generated imagery as a design-team task. Preserve image blocks and use clear placeholders when final assets are missing.
- Verify links before export. Existing private link data in the Figma plugin can take precedence over values an agent writes.
- Use a capable model for migrations. A routine campaign is smaller than auditing and rebuilding a full design system.
- Expect canvas round trips. Node count predicts build time better than how visually complex an email looks.
- Keep the Figma plugin current. Older releases may not recognize agent-created email roots.
Related Articles
- Build Emails in Figma with Claude or Codex
- Import Existing Designs with AI Import
- Creating and Managing Design Systems
- Migrating an Existing Design System or Template
- Element Reference: Section, Column & Wrapper

