# Overview Source: https://help.emaillove.com/builder/api/overview Programmatic access to templates and design systems: authentication, endpoints, and resources. The Email Love Builder API provides programmatic access to templates, design systems, and Figma plugin sync functionality. This overview covers authentication, base endpoints, and key resources. ## API Basics ### Base URL All API requests should be made to: ```text theme={null} https://api.emaillove.com/api ``` ### Authentication All API requests require a Bearer token (your API key) in the Authorization header: ```text theme={null} Authorization: Bearer ef_xxxxxxxxxxxxxxxxxxxxx ``` Your API key can be generated in Email Love Builder at **Settings > API Keys**. Keys always start with `ef_`. ### Rate Limiting Each API key is limited to **100 requests per minute**. If you exceed this limit, the API will return a 429 (Too Many Requests) response. Wait briefly before retrying. ## Key Endpoints ### Templates ```http theme={null} POST /api/templates ``` Create a new email template in your workspace. ```http theme={null} GET /api/templates ``` Retrieve all templates in your workspace. ```http theme={null} GET /api/templates/:id ``` Retrieve a specific template by ID. ```http theme={null} PUT /api/templates/:id ``` Update template properties or content. ```http theme={null} DELETE /api/templates/:id ``` Delete a template from your workspace. ### Design Systems ```http theme={null} POST /api/plugin/design-systems/:id/sync ``` Sync design system components from Figma. Used by the Email Love Figma plugin to push components to your design system. ```http theme={null} GET /api/plugin/design-systems/:id/changes ``` Retrieve components that have changed since a specific timestamp. Useful for detecting updates and conflicts when syncing with Figma. ## Common Use Cases ### Automated Template Creation Use the Templates endpoints to programmatically create, update, and manage templates. Integrate with your workflow automation tools to generate templates based on data or events. ### Design System Sync Automation Integrate component syncing with your CI/CD pipeline or design tool workflows to automatically keep your Email Love Builder design system in sync with your source designs. ### Template Management Build custom interfaces for template organization, search, and management using the API. ## Response Format All API responses are returned in JSON format. Successful requests return the created or modified resource along with relevant metadata. ### Error Responses Errors include an error code and descriptive message: ```json theme={null} { "error": "invalid_api_key", "message": "The provided API key is not valid" } ``` ## Best Practices * **Use Bearer Token Authentication:** Always include your API key in the Authorization header * **Handle Rate Limits:** Implement exponential backoff when approaching the 100 requests per minute limit * **Validate Responses:** Check response status codes and error messages to handle failures gracefully * **Store API Keys Securely:** Never commit API keys to version control or expose them in client-side code * **Generate Workspace-Specific Keys:** Create separate API keys for different integrations or purposes ## Security Considerations * API keys grant full access to your workspace: treat them as secrets * Rotate API keys periodically for enhanced security * Revoke keys that are no longer needed (go to Settings > API Keys > Revoke) * Never share API keys via email or unsecured channels * Use API keys only with HTTPS connections ## Detailed Documentation For complete endpoint documentation including request bodies, response schemas, and code examples, see the full API reference in the repository. ## Examples ### Authenticate and List Templates ```bash theme={null} curl -X GET https://api.emaillove.com/api/templates \ -H "Authorization: Bearer ef_xxxxxxxxxxxxxxxxxxxxx" ``` ### Create a New Template ```bash theme={null} curl -X POST https://api.emaillove.com/api/templates \ -H "Authorization: Bearer ef_xxxxxxxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "name": "Welcome Email", "description": "Onboarding email for new users" }' ``` ## Need Help? * Review endpoint-specific documentation in the detailed reference * Check the [Figma plugin guide](/builder/figma-plugin/overview) for plugin-specific API usage * Contact our support team for integration assistance ## Changelog API updates and new endpoints are documented in our changelog. Check back regularly for new features and improvements. # Creating a Design System Source: https://help.emaillove.com/builder/design-systems/create Build your first design system: components, layouts, and base styles. This guide walks you through building your first design system, from initial setup through adding components, layouts, and base styles. ## Getting Started 1. In Email Love Builder, go to **Settings** 2. Click **Design Systems** 1. Click the **Create Design System** button 2. You'll be prompted to enter: * **Name**: A clear name for your design system (e.g., "Acme Corp Marketing", "SaaS Onboarding") * **Description**: Optional details about when and how to use this design system * **Body Width**: The default email width in pixels (standard is 600px) 3. Click **Create** to proceed ## Adding Components Components are the reusable building blocks of your design system. They're organized by category to keep everything organized and easy to find. ### To Add a Component: 1. Click **Add Component** in your design system 2. **Choose a Category**: Select which category your component belongs to (see categories below) 3. **Paste MJML Code**: Enter the MJML code for your component 4. **Name the Component**: Give it a descriptive name (e.g., "Hero Image with Text", "Primary CTA Button") 5. Click **Save** A thumbnail is automatically generated from your component, making it easy to visually identify components in the editor. ### Component Categories Organizing components by category makes them easy to find when building emails. Here's what each category is for: **Header** * Top banners and hero sections * Logo placements * Navigation elements * Announcement bars **Content** * Text blocks and paragraphs * Image plus text combinations * Feature lists and bullet points * Product showcases **CTA (Call-to-Action)** * Standalone buttons * Button sections * Action-oriented containers **Footer** * Unsubscribe links and preferences centers * Social media links * Legal and compliance text * Company contact information **Container** * Structural wrappers * Layout dividers * Section containers **Styles** * Decorative elements * Dividers and spacers * Borders and lines ## Adding Layouts Layouts are complete email templates that serve as starting points for new emails. Rather than dragging individual components together, use a layout to get a fully-structured template. ### To Add a Layout: 1. Click **Add Layout** in your design system 2. **Paste Full MJML Template**: Paste a complete, working MJML email template 3. **Name the Layout**: Give it a descriptive name (e.g., "Newsletter Template", "Product Announcement") 4. **Add Description**: Optional notes about when to use this layout 5. Click **Save** Layouts appear as starting point options when team members create new emails from your design system. ## Setting Base Styles Base styles are global styling rules that automatically apply to all emails using your design system. They're defined as `mj-head` attributes in MJML and control: * **Fonts**: Default typeface, sizes, and weights * **Colors**: Primary brand colors, text colors, backgrounds * **Spacing**: Default padding, margins, and gaps * **Line Heights**: Default text spacing ### To Add Base Styles: 1. Go to the **Base Styles** section 2. Enter your styling attributes in the provided editor (these become your `mj-head` configuration) 3. Click **Save** All templates created from this design system will inherit these styles, ensuring brand consistency without requiring designers to set styling on individual elements. ## Importing Components from MJML Have an existing email template you'd like to break down into components? You can import a full MJML email and automatically extract sections into individual components. ### To Import Components: 1. Click **Import from MJML** in your design system 2. Paste your complete MJML email template 3. The system automatically detects major sections (`mj-section` tags) and extracts them as individual components 4. Review the extracted components and assign them to appropriate categories 5. Click **Finish Import** This is a fast way to populate your design system with components from existing successful email campaigns. ## Tips for Success * **Keep Components Focused**: Make each component do one thing well (e.g., a header component, not header + footer) * **Use Descriptive Names**: Name components based on their purpose, not their appearance * **Start with One Layout**: Begin with a single, flexible layout template and add more as you identify patterns * **Test Base Styles**: Verify that your base styles render correctly across email clients before finalizing * **Document Usage**: Use component descriptions to guide your team on when and how to use each piece ## What's Next? Once your design system is set up, learn how to use it by checking out [Using a Design System](/builder/design-systems/use). # Overview Source: https://help.emaillove.com/builder/design-systems/overview What design systems are, why they're valuable, and how to use them. Welcome to the Email Design Systems documentation! This section will help you understand what design systems are, why they're valuable, and how to create and use them in your email templates. ## What is a Design System? A design system is a reusable library of branded email components, layouts, and base styles that ensures consistency across all your email templates. Instead of building each email from scratch, you can leverage pre-built, on-brand components and layouts that your entire team can use. Think of it as your email brand's toolkit: a centralized collection of design decisions, component building blocks, and templates that all work together seamlessly. ## Why Use a Design System? Design systems offer several key benefits: * **Brand Consistency**: Every email reflects your brand identity through shared colors, typography, and spacing * **Faster Template Creation**: Build emails quickly by combining existing components instead of coding from scratch * **Team Alignment**: Your entire team works with the same approved components and patterns * **Easier Maintenance**: Update brand guidelines in one place, and changes apply across all templates using that design system ## Key Parts of a Design System ### Components Reusable MJML sections organized by category. Components are the building blocks you'll drag onto your email canvas. Examples include headers, content blocks, buttons, and footers. ### Layouts Full email templates that serve as starting points for new emails. Layouts provide a pre-structured, ready-to-customize foundation instead of starting with a blank canvas. ### Base Styles Global typography, colors, spacing, and other styling applied automatically to all templates using this design system. Base styles ensure visual consistency without needing to set styling on individual elements. ### Body Width The default width setting for emails created from your design system (typically 600px for email standards compliance). ## Permissions Only workspace owners can create and edit design systems. However, once a design system is set up, team members with the appropriate permissions can create new emails using the design system. ## Next Steps Ready to get started? Check out these guides: * [Creating a Design System](/builder/design-systems/create) - Step-by-step instructions for building your first design system * [Using a Design System](/builder/design-systems/use) - Learn how to leverage your design system when creating emails # Using a Design System Source: https://help.emaillove.com/builder/design-systems/use Create and edit emails using your design system's components, layouts, and base styles. This guide explains how to create and edit emails using a design system, and how to make the most of your design system's components, layouts, and base styles. ## Creating an Email from a Design System 1. Click **Create New Email** in Email Love Builder 2. You'll be presented with two options: * **Start from Scratch**: Create a blank email * **Start from Design System**: Select this option to use one of your design systems 1. Select **Start from Design System** 2. Choose the design system you want to use from the dropdown 3. Select whether you want to: * **Start with a Layout**: Begin with a pre-structured template (recommended for most users) * **Start with Components**: Begin with a blank canvas and build from individual components Once you've selected your design system and starting point, you're ready to begin editing your email. ## The Design System Components Panel When editing an email created from a design system, the left panel displays all components from that design system organized by category. ### Component Organization Components are grouped by category for easy discovery: * **Header** - Top sections and navigation * **Content** - Body text and imagery * **CTA** - Buttons and call-to-action sections * **Footer** - Legal, social, and unsubscribe content * **Container** - Structural elements * **Styles** - Decorative elements Click a category to expand and view all components in that category. ## Adding Components to Your Email ### Drag and Drop 1. Click and hold a component from the left panel 2. Drag it onto your email canvas to the position you want 3. Release to place the component ### Replace Existing Sections 1. Hover over any section on your canvas 2. Click the component icon that appears 3. Select a new component from the dropdown to swap it in This allows you to quickly try different variations without deleting and re-adding content. ## Base Styles Base styles from your design system are automatically applied to your email. You don't need to do anything special to activate them. ### What Base Styles Control * **Typography**: Default fonts, sizes, and weights * **Colors**: Text colors, backgrounds, and accent colors * **Spacing**: Padding, margins, and gaps between elements * **Line Heights**: Default text line spacing ### Overriding Base Styles While base styles provide consistency, you can override them on individual elements when needed: 1. Select an element on your canvas 2. Modify its styling in the properties panel 3. Your custom styling takes precedence over base styles Use overrides sparingly to maintain brand consistency. ## Using Layouts Layouts are complete email templates that serve as starting points. ### Applying a Layout 1. When creating a new email, choose **Start with a Layout** 2. Select the layout from the available options 3. Your email canvas populates with the complete template ### Customizing a Layout Layouts are fully customizable. After applying a layout: 1. Edit any text, images, or content 2. Swap components by hovering over sections 3. Add or remove sections as needed 4. Adjust colors and spacing for your specific campaign Layouts provide a foundation, but you have complete flexibility to customize them for each email. ## Section Locking If you're a workspace owner, you can lock specific sections to control how editors use templates. ### Why Lock Sections? Locking sections allows you to create structured templates where: * Certain branding elements (headers, footers) remain unchanged * Editors can only customize designated content areas * Compliance and legal sections are protected from accidental modifications ### Locking a Section 1. Select a section on your canvas 2. Click the lock icon in the section toolbar 3. Choose your lock level: * **Locked**: Editors cannot modify this section at all * **Content Only**: Editors can change content but not styling * **Unlocked**: Editors have full modification access Locked sections appear with a lock icon badge on the canvas. ## Switching Design Systems If you need to change which design system a template uses: 1. Click **Template Settings** in the top menu 2. Go to the **Design System** section 3. Select a different design system from the dropdown 4. Click **Apply** Your email will update to use components and base styles from the new design system. Note that existing customizations may be affected if the new design system has different base styles. ## Removing a Design System To remove the design system from a template and work with standalone components: 1. Click **Template Settings** 2. Go to the **Design System** section 3. Click **Remove Design System** 4. Confirm your action Your email will retain its current structure and content, but will no longer be connected to the design system. You'll lose access to automatic base style updates if the design system is updated in the future. ## Tips for Success * **Start with Layouts**: Using a layout as your foundation is faster than building component-by-component * **Use Consistent Components**: Stick to your design system's components to maintain brand consistency * **Leverage Base Styles**: Trust the global styling to handle brand guidelines; focus on content * **Preview Across Clients**: Always preview your email in multiple email clients before sending * **Document Custom Changes**: If you override base styles, document why to help your team understand your choices ## Need Help? * Review component descriptions in the left panel for guidance on component usage * Check the design system overview for details on available components and layouts * Ask your workspace owner about design system updates or new components Happy designing! # Overview Source: https://help.emaillove.com/builder/editor/overview Understand the core features, views, and layout of the editor. Welcome to the Email Love Builder email editor! This guide will help you understand the core features and layout of the editor, so you can create beautiful, responsive email templates with ease. ## Editor Views The Email Love Builder editor offers three distinct view modes to suit your workflow, whether you prefer visual design or hands-on coding. ### Visual Editor The Visual Editor is a drag-and-drop MJML builder that makes it easy to design emails without writing code. You can drag components from the left panel onto the canvas, arrange them, and customize their properties in real-time. This is the default view and perfect for designers and non-technical users. ### Code View For developers and advanced users, the Code View provides a raw MJML editor where you can write and edit email markup directly. All changes sync instantly with the visual editor, so switching between views is seamless. ### Preview The Preview mode lets you see how your email will look to recipients. You can toggle between desktop and mobile responsive views, and test both light and dark mode rendering to ensure your template looks great everywhere. ## Editor Layout The Email Love Builder editor is organized into three main sections: **Left Panel (Element Palette)** Contains all available elements and components for building your template. When using a design system, this shows EDS Components organized by category (header, content, CTA, footer, container, styles) plus pre-built Layouts. When starting from scratch, you'll see Layouts and Basic elements to get you started. **Center (Canvas)** Your main design workspace. Drag elements from the left panel here to build your email. Click any element on the canvas to select it and edit its properties. **Right Panel (Element Properties)** When you select an element, this panel shows all available customization options. You can edit text content, colors, padding, fonts, images, links, and more without touching code. ## Top Toolbar The toolbar at the top of the editor provides quick access to essential functions: * **Save**: Manually save your template (though autosave handles this automatically) * **Undo/Redo**: Step back or forward through your changes * **Preview Toggle**: Switch to preview mode to see your email rendered * **Desktop/Mobile Toggle**: View responsive breakpoints in preview mode * **Export**: Download your template, send test emails, or export to connected platforms * **View Mode Switcher**: Toggle between Visual Editor, Code View, and Preview ## Autosave Your templates are automatically saved every 30 seconds and immediately after you make changes. A visual indicator near the save button shows the autosave status, so you always know your work is secure. No more worrying about losing changes! ## What's Next? Ready to dive deeper? Check out these guides to master specific features: * **[Visual Editor Guide](/builder/editor/visual-editor)**: Learn how to drag, drop, and customize elements * **[Previewing and Exporting](/builder/editor/preview-export)**: Test your templates and export them to your email platform # Previewing and Exporting Source: https://help.emaillove.com/builder/editor/preview-export Preview across devices and modes, then export to your email platform. Once you've designed your email template in Email Love Builder, it's time to test it and get it ready for sending. This guide covers how to preview your template across different devices and modes, and how to export it to your email platform. ## Preview Modes The Preview feature lets you see your email exactly as recipients will see it. Access preview from the top toolbar by clicking the **Preview** button or using the view mode switcher. ### Desktop View The default preview shows your email at desktop width (typically 600px). This is the standard email client viewing width and represents how most recipients on desktop will see your email. Your email should look polished and fully formatted at this size. ### Mobile View Click the **Mobile** toggle to see how your email renders on phones and tablets. This view simulates a narrower screen and shows how responsive columns stack and text reflows. Mobile preview is critical, many recipients read emails on phones, so your template must look great on small screens. Compare desktop and mobile side-by-side by resizing your browser window to get both views on screen at once. ### Light Mode The default preview shows your email in light mode, the standard view with dark text on a light background. This is how most email clients display emails by default. ### Dark Mode Click the **Dark Mode** toggle to see how your email renders when recipients enable dark mode in their email client. Many email clients (Gmail, Apple Mail, Outlook) now support dark mode, and your template should be readable and attractive in both modes. With dark mode preview, you can: * Check text contrast and readability * Verify that white or light-colored elements aren't invisible * Ensure images have appropriate contrast * Test that your design intent shines through in dark environments Email dark mode support varies by email client. Always test in the clients your audience uses most. ## Export Options Ready to use your template? The **Export** button in the top toolbar opens a menu with several options. Choose the one that fits your workflow. ### Download MJML Exports your template as a source MJML file. This is perfect if you want to: * Store the raw markup in version control * Make fine-tuned edits to the code * Use the MJML in other tools or platforms * Share the source file with developers The MJML file includes all your design settings and can be reopened in Email Love Builder anytime to continue editing. ### Download HTML Exports your template as compiled HTML, the final, rendered code ready to send through any email platform. This is the most versatile option because: * It works with any email service provider (ESP) * No additional processing or compilation is needed * You can copy-paste it into any email platform * It's smaller than MJML (no framework needed) Use this option if you're sending through a platform that doesn't have native Email Love Builder integration. ### Copy HTML to Clipboard A quick shortcut that copies the compiled HTML directly to your clipboard. Perfect for: * Pasting into email platforms without downloading a file * Quick iteration and testing * Reducing file clutter on your computer Simply click, copy, and paste into your email platform of choice. ### Export to Email Platforms If your workspace has integrations set up, you can export directly to popular email service providers. Available integrations include: **Braze** Sync your template directly into Braze's email builder. Your template appears as a new email template in your Braze workspace, ready to use in campaigns immediately. **Iterable** Export to Iterable and your template is available in their template library. Perfect for campaigns and triggered emails. **Marketo** Send your template directly to Marketo's template gallery. Your design is instantly ready for email programs. **Setting Up Integrations** Before using platform integrations, configure them in **Settings > Integrations**. You'll authenticate your account and authorize Email Love Builder to write templates. Once connected, the export menu displays your available platforms. See the [Integrations guide](/builder/integrations/overview) for setup details. ### Send Test Email Want to preview your email in a real inbox before sending to your audience? Use the **Send Test Email** option to: * Email your template to any address * See how it renders in actual email clients (Gmail, Outlook, Apple Mail, etc.) * Test links, buttons, and interactive elements * Share with teammates for feedback To send a test email: 1. Click **Export** in the toolbar 2. Select **Send Test Email** 3. Enter one or more email addresses (comma-separated for multiple) 4. Click **Send** 5. Check your inbox in seconds Test emails are sent from Email Love Builder's system and appear as previews, they're not logged as campaign sends and won't affect your email metrics. ## Export Flow Here's how to export your template step-by-step: Click **Export** in the top toolbar. * Download MJML * Download HTML * Copy HTML to Clipboard * Export to Platform (Braze, Iterable, Marketo) * Send Test Email * For downloads: Your file starts downloading automatically * For clipboard: HTML is copied instantly * For platform export: Confirm your destination and click Send * For test email: Enter email address(es) and confirm * You'll see a success message confirming the export * For platform exports and test emails, check your email or platform dashboard shortly after * For downloads, find the file in your Downloads folder ## Export Tips * **Test before sending**: Always send a test email and preview in real email clients before launching campaigns * **Check responsive design**: Export and view in mobile to confirm everything looks right * **Use the right format**: Download HTML for maximum compatibility; download MJML if you need the source code * **Verify integrations**: Make sure your platform integrations are working by testing with a small template first * **Keep backups**: Download a copy of your MJML or HTML for your records You're all set! Your template is tested, polished, and ready to reach your audience. Happy emailing! # Visual Editor Source: https://help.emaillove.com/builder/editor/visual-editor Build professional email templates with the drag-and-drop visual editor. The Visual Editor is the heart of Email Love Builder, a powerful drag-and-drop interface that lets you build professional email templates without writing code. This guide covers everything you need to know to create, customize, and organize your email designs. ## Left Panel: Element Palette The left panel displays all the building blocks available for your template. What you see depends on your setup. ### Using a Design System When your workspace is connected to a design system (EDS, Email Design System), the left panel shows: **EDS Components** Pre-built, consistent components organized by category: * **Header**: Logo, navigation, and header elements * **Content**: Text blocks, images, callout boxes, and more * **CTA**: Call-to-action buttons in various styles * **Footer**: Footer links, contact info, and legal text * **Container**: Structural elements for layout and spacing * **Styles**: Text styles, color swatches, and typography presets **Layouts** Pre-designed template structures you can use as a starting point (single column, two-column, three-column, etc.). Using a design system ensures consistency across all your templates and speeds up the design process significantly. ### Starting from Scratch If you're building a template without a design system, the left panel shows: **Layouts** Basic template structures to jumpstart your design. **Basic Elements** Fundamental building blocks like text, images, buttons, dividers, spacers, and containers. These give you complete control to build custom designs from the ground up. ## Dragging Elements onto the Canvas Adding elements to your template is simple: 1. Click on an element in the left panel 2. Drag it onto the canvas (the center white area) 3. Drop it where you want it to appear 4. The element is automatically added to your template As you drag, you'll see a preview of where the element will land. Drop zones are highlighted to help you place elements exactly where you want them. You can drag elements to reorder them, and dragging between sections creates new structure. ## Selecting and Customizing Elements To edit an element, simply click it on the canvas. When selected, the element will show a blue border or highlight, and its properties will appear in the right panel. ### Nested Selection If elements are stacked, you might need to click multiple times to select the one you want. The first click selects the container, the next click selects the nested element inside it, and so on. ### Multi-Select You can select multiple elements at once by holding Shift or Command (Mac) / Ctrl (Windows) and clicking. This lets you move, copy, or delete multiple elements together. ## Right Panel: Element Properties The properties panel on the right shows all customization options for the selected element. Available properties vary by element type, but typically include: ### Common Properties **Text Content** Edit the text that appears in text blocks, buttons, and other text-based elements. You can apply basic formatting like bold and italic. **Colors** * **Text Color**: Change the color of text * **Background Color**: Set the background of an element * **Border Color**: Add and customize element borders * **Button Color**: For CTAs, set the button background and text color When a design system is active, you'll see predefined color swatches that maintain brand consistency. **Spacing** * **Padding**: Add space inside the element (between content and edge) * **Margin**: Add space outside the element (between this element and others) Adjust spacing independently for top, right, bottom, and left, or set all sides at once. **Fonts and Typography** * **Font Family**: Choose from available fonts * **Font Size**: Set the text size * **Font Weight**: Make text bold or light * **Line Height**: Control vertical spacing between text lines * **Text Alignment**: Left, center, right, or justify **Images** * **Upload/Replace**: Choose an image from your files * **Alt Text**: Add descriptive text for accessibility * **Image Width/Height**: Control image dimensions * **Link**: Make an image clickable **Links** * **URL**: Set the destination for links and buttons * **Open in New Tab**: Control whether links open a new window ### Advanced Properties Some elements offer advanced options like: * Border style and width * Shadow effects * Opacity/transparency * Display conditions (show/hide based on rules) Hover over any property label to see a tooltip with more information. ## Section Locking Workspace owners can lock specific sections of a template to protect important content from accidental changes. This is especially useful when: * Multiple team members are editing the same template * You want to enforce brand guidelines on certain sections * You want editors to focus only on customizable areas ### How to Identify Locked Sections Locked sections display a **lock icon** next to the section name in the layers panel. Locked elements can still be viewed and previewed, but their properties cannot be edited. ### Working with Locked Sections * **Locked elements**: Click them to view their properties, but editing options are disabled * **Unlocked elements**: Within a locked section, any unlocked elements can still be edited * **Contact your workspace owner**: If you need to unlock a section, ask the workspace owner to adjust permissions Locking is a powerful feature for maintaining template integrity while giving editors the freedom they need. ## Working with Columns and Layouts Email layouts typically use columns for horizontal organization. Email Love Builder makes working with columns intuitive. ### Adding Columns 1. Drag a **Column element** or **Container** onto the canvas 2. The container shows available column configurations (1-col, 2-col, 3-col, etc.) 3. Select your desired column layout 4. Drag elements into each column to build your design ### Resizing Columns Click the divider between columns and drag to resize. You can make columns equal width or set custom proportions. ### Nested Columns Columns can contain other columns, letting you create complex, flexible layouts. For example, you might have a 2-column section with a 3-column subsection in one of the columns. ### Mobile Responsiveness Email Love Builder automatically handles responsive behavior on mobile devices. Most elements stack into a single column on mobile, but you can customize this behavior: 1. Select a column or container 2. Look for responsive options in the properties panel 3. Set mobile-specific behavior (stack, hide, or adjust width) Test your layout in **Preview mode** by toggling between desktop and mobile views to ensure it looks great on all screen sizes. ## Tips for Success * **Use templates**: Start with a layout template to save time and maintain structure * **Group related elements**: Use containers to keep related content organized * **Test responsive views**: Always preview on mobile to catch layout issues * **Leverage design systems**: If available, use EDS components for consistency and speed * **Save frequently**: While autosave protects you, use the Save button for peace of mind * **Lock sections**: If working in a team, lock sections you want to protect You're now ready to create beautiful email templates! Head over to the [Previewing and Exporting guide](/builder/editor/preview-export) to learn how to test and deliver your designs. # Overview Source: https://help.emaillove.com/builder/figma-plugin/overview Sync Figma components and export full email designs with the Email Love Figma plugin. The Email Love Figma plugin bridges your design workflow with email production. Whether you're syncing individual components or exporting complete email designs, the Figma plugin makes it seamless to move from Figma to Email Love Builder. These pages cover using the Figma plugin with the Builder. For the full Figma plugin documentation, start with the [Figma plugin docs](/plugin/getting-started/overview). ## What the Figma Plugin Does The Figma plugin provides two powerful capabilities for email designers: ### 1. Sync Design System Components Convert your Figma components into reusable Email Design System (EDS) components in Email Love Builder. Your existing design system in Figma becomes the foundation for a production-ready design system. * Select component frames in Figma * The Figma plugin converts them to MJML (email markup language) * Components are synced to your Email Love Builder design system * Keep your design system in sync as you iterate ### 2. Export Full Email Designs Take a complete email design from Figma and export it directly into Email Love Builder as a ready-to-edit template. * Select your finished email design * Export as a template with one click * Organize it in your Email Love Builder project folders * Start testing, personalizing, and sending immediately ## How Component Syncing Works The Figma plugin uses an intelligent syncing system to keep your design system up to date: ### Initial Sync When you sync a Figma component frame for the first time, the Figma plugin: * Converts the frame and all nested elements to MJML markup * Pushes the component to your Email Love Builder design system * Records the Figma node ID as a unique identifier ### Smart Updates The Figma plugin is smart about subsequent syncs: * **Unchanged components:** Skipped to save time * **Modified components:** Automatically updated in Email Love Builder * **Conflict detection:** If a component was edited in both Figma and Email Love Builder since the last sync, the conflict is flagged so you can decide which version to keep This means you can safely re-sync components without worrying about creating duplicates or losing important changes. ### Sync Status Indicators After syncing, components in Email Love Builder display a visual indicator: * **Green checkmark:** Component is synced from Figma and up to date * **Blue cloud:** Component was edited in Email Love Builder after being synced from Figma These indicators help you understand the relationship between your Figma designs and production components. ## Getting Started ### Prerequisites * An Email Love Builder account * Access to a Figma file where you want to use the Figma plugin * An API key from Email Love Builder (see the setup guide below) ### Quick Start 1. **Generate an API key** in Email Love Builder (Settings > API Keys) 2. **Install the Figma plugin** from the [Figma Community](/plugin/getting-started/install) 3. **Open the Figma plugin** in Figma and paste your API key in Settings 4. **Select your workspace and design system** 5. **Start syncing components or exporting templates** For detailed setup instructions, see [Setting Up the Figma Plugin](/builder/figma-plugin/setup). ## Component Sync Workflow Here's the typical flow for syncing components from Figma to Email Love Builder: 1. Create or modify component frames in Figma 2. Open the Email Love Figma plugin 3. Select the component frames you want to sync 4. Click **Sync to Email Love Builder** 5. The Figma plugin displays sync status and any conflicts 6. Review synced components in your Email Love Builder design system 7. Use them in templates or continue iterating in Figma ## Email Export Workflow To export a complete email design as a template: 1. Finish designing your email in Figma 2. Select the entire design frame 3. Open the Email Love Figma plugin 4. Click **Export as Template** 5. Choose a destination project folder in Email Love Builder 6. The template appears in Email Love Builder ready for editing, testing, and personalization ## Key Features ### Batch Syncing Select multiple component frames at once and sync them together. Ideal for syncing a full design system or a set of related components. ### Conflict Resolution When a component is edited in both Figma and Email Love Builder, the Figma plugin flags the conflict and lets you choose which version to keep. ### Workspace and Design System Selection If your Email Love Builder account has multiple workspaces or design systems, the Figma plugin lets you choose where to sync components and export templates. ### Real-time Status Updates After syncing, the Figma plugin displays clear status messages about what was created, updated, or skipped. ## Best Practices * **Organize Figma frames:** Use consistent naming conventions for your component frames to make syncing and tracking easier * **Test early:** After syncing components, test them in Email Love Builder templates to ensure the MJML conversion looks correct * **Sync regularly:** Regular, small syncs are easier to manage than large batch syncs * **Use design system for reusability:** Synced components in your design system can be used across multiple templates * **Document components:** Add helpful descriptions to components in your design system to guide template builders ## Troubleshooting ### My API key isn't working Make sure you've copied the entire API key from Email Love Builder (they start with "ef\_"). API keys are case-sensitive and must not include extra spaces. ### Synced components don't look right MJML has some layout differences from Figma. Complex nested designs may need refinement in Email Love Builder. Test components in actual email clients to verify they render correctly. ### I see a sync conflict Review the changes in both Figma and Email Love Builder, then choose which version to keep. The Figma plugin will update the component based on your selection. ### The Figma plugin isn't responding Try refreshing the Figma file and reopening the Figma plugin. If the issue persists, check your internet connection and API key settings. ## Next Steps * [Set up the Figma plugin](/builder/figma-plugin/setup) to get started * Learn about [managing your design system](/builder/design-systems/overview) * Explore the [API reference](/builder/api/overview) for programmatic access ## Need Help? If you encounter issues or have questions about the Figma plugin, contact our support team. We're always happy to help! # Setting Up the Figma Plugin Source: https://help.emaillove.com/builder/figma-plugin/setup Install and configure the Email Love Figma plugin and generate your API key. This guide walks you through installing and configuring the Email Love Figma plugin so you can start syncing components and exporting templates. Your API key is the authentication credential that allows the Figma plugin to access your Email Love Builder workspace. **To create an API key:** 1. Log in to Email Love Builder and click **Settings** in the left navigation 2. Go to the **API Keys** tab 3. Click **Create API Key** 4. Enter a descriptive name (e.g., "Figma Plugin") 5. Click **Create** 6. **Copy the key immediately**: it's only shown once and cannot be retrieved later API keys always start with `ef_`. Store this key somewhere safe; you'll need it in Step 3. The Email Love Figma plugin is available in the Figma Community. **To install the Figma plugin:** 1. In Figma, go to **Plugins** in the left sidebar 2. Click **Browse all plugins** 3. Search for **Email Love** 4. Click on the Email Love Figma plugin 5. Click **Install** The Figma plugin is now available in your Figma account and can be used in any of your files. For more detail, see the [Figma plugin install guide](/plugin/getting-started/install). Once installed, open the Figma plugin and configure it with your Email Love Builder account details. **To set up the Figma plugin:** 1. In any Figma file, go to **Plugins** > **Email Love** 2. The Figma plugin window opens on the right side 3. Click **Settings** (gear icon or settings button) 4. Paste your API key in the **API Key** field 5. Click **Connect** The Figma plugin will verify your API key and load your Email Love Builder workspaces. After connecting your API key, choose where you want to sync components and export templates. **To select your workspace and design system:** 1. In the Figma plugin, look for the **Workspace** dropdown 2. Select the workspace where you want to work 3. Look for the **Design System** dropdown 4. Select the design system where components will be synced If you only have one workspace and design system, these are selected automatically. ## Syncing Components Now that your Figma plugin is configured, you can start syncing Figma components to Email Love Builder. ### How to Sync Components 1. In Figma, select the component frame(s) you want to sync 2. Open the **Email Love** Figma plugin (Plugins > Email Love) 3. The selected frames appear in the Figma plugin panel 4. Click **Sync to Email Love Builder** 5. The Figma plugin converts the frames to MJML and pushes them to your design system ### What Happens During Sync * The Figma plugin converts your Figma component to MJML (email markup language) * It records the Figma node ID so future syncs update the same component * If the component already exists, it's updated; otherwise, a new component is created * Unchanged components are skipped to save time ### Syncing Multiple Components You can sync several components at once by selecting multiple frames before clicking Sync. This is useful for syncing an entire design system or a related set of components. ## Understanding Sync Status After syncing, components in your Email Love Builder design system show status indicators that tell you about their relationship with Figma: ### Green Checkmark The component is synced from Figma and matches the latest Figma version. No changes have been made in Email Love Builder since the sync. ### Blue Cloud The component was originally synced from Figma but has been edited or modified in Email Love Builder after the sync. The component in Email Love Builder may differ from what's in Figma. ### Conflict Indicator If a component was edited in both Figma and Email Love Builder since the last sync, the Figma plugin flags this conflict. You'll need to review both versions and decide which to keep. The Figma plugin will guide you through conflict resolution. ## Exporting a Full Email Want to move a complete email design from Figma to Email Love Builder? Use the export feature. **To export an email as a template:** 1. In Figma, select the entire email design frame 2. Open the **Email Love** Figma plugin 3. Click **Export as Template** 4. Select a destination **Project** folder in Email Love Builder (if available) 5. Optionally enter a **Template Name** 6. Click **Export** The email design is converted to MJML and appears in your Email Love Builder project as a new template, ready for editing, testing, and personalization. ## Verifying Your Setup To confirm everything is working correctly: 1. Open the Email Love Figma plugin in Figma 2. Check that your workspace and design system are selected 3. Create a simple test component frame (e.g., a colored rectangle) 4. Select it and click **Sync to Email Love Builder** 5. Go to Email Love Builder and check your design system: the test component should appear If you see the test component in your design system, you're all set! ## Troubleshooting ### "API Key Invalid" Error * Make sure you copied the entire key from Email Love Builder (it should start with `ef_`) * Check that there are no extra spaces before or after the key * API keys are case-sensitive ### Figma Plugin Isn't Loading * Try refreshing the Figma file * Close and reopen the Figma plugin * Check your internet connection ### Synced Components Look Incorrect MJML has different layout rules than Figma. Complex designs may need refinement in Email Love Builder: * Test the component in an email client * Adjust spacing, sizing, or nesting in Email Love Builder if needed * Consult the [Figma plugin docs](/plugin/getting-started/overview) for best practices ### I Don't See My Design System * Verify you selected the correct workspace * Make sure you have a design system created in Email Love Builder * Check that your API key has the necessary permissions ## Next Steps * Learn about [syncing and exporting with the Figma plugin](/builder/figma-plugin/overview) * Explore [managing your design system](/builder/design-systems/overview) * Check the [API reference](/builder/api/overview) for programmatic access ## Questions? If you need help, contact our support team. We're here to make your workflow as smooth as possible! # Creating Your First Email Source: https://help.emaillove.com/builder/getting-started/first-email A step-by-step walkthrough of creating a template, from choosing a starting point to previewing. This guide walks you through the detailed steps of creating an email template in Email Love Builder, from choosing your starting point all the way to previewing your finished design. ## Navigate to Your Project Before you can create an email, you need to be inside a project (projects are folders that hold your email templates). 1. From your workspace dashboard, click **Projects** in the left sidebar 2. Click on the project where you want to create your email * If you haven't created a project yet, see [Getting Started](/builder/getting-started/overview) for instructions 3. You're now inside your project. You'll see any existing templates listed, plus a **New Email** button ## Click "New Email" To start creating a new template: 1. Click the **New Email** button (top right of your project) 2. A dialog box will appear asking you to choose your starting point This is one of the most important decisions, so let's break it down. ## Choose Your Starting Point **When to use this:** * You're building a custom design with a unique layout * Your team doesn't have a design system set up yet * You want complete creative freedom **What you get:** * **Layouts**: Pre-designed structural templates including single-column, two-column, three-column, and asymmetrical layouts * **Basic Elements**: Core building blocks like text blocks, images, buttons, dividers, spacers, and more * A blank canvas with full flexibility **How to proceed:** 1. Select **Start from Scratch** 2. You'll see a panel with available layouts 3. Click any layout to select it, or choose **Blank Canvas** to start with nothing 4. Proceed to naming your template (see next section) **When to use this:** * Your team has already built a design system with branded components * You want to maintain brand consistency across all emails * You want to work faster with pre-built, pre-styled components **What you get:** * **Pre-built Components**: Branded buttons, headers, footers, card layouts, and other components that follow your brand guidelines * **Branded Layouts**: Email structures designed specifically for your brand * **Base Styles**: Automatic color, font, and spacing settings that match your brand identity * Everything styled to your brand from day one **How to proceed:** 1. Select **Start from Design System** 2. A dropdown will appear showing available design systems 3. Click the design system you want to use 4. Choose a starting layout from that design system 5. Proceed to naming your template (see next section) **Don't have a design system yet?** No problem! You can always build one later. Start from scratch for now, and when you're ready, check out our [Design Systems guide](/builder/design-systems/overview). ## Name Your Template Once you've chosen your starting point: 1. A text field will appear asking for your template name 2. Enter a descriptive name (examples: "Welcome Email", "Order Confirmation", "Weekly Newsletter", "Black Friday Sale") 3. Optionally add a description if you want to help your team understand the template's purpose 4. Click **Create** The editor will now open with your new template. ## Meet the Editor The Email Love Builder editor is designed to be intuitive while giving you powerful customization options. Here's your orientation: ### Left Panel: Elements This panel contains everything you can add to your email: * **Layouts**: Pre-designed multi-column structures (if starting from scratch) * **Basic Elements**: Text, images, buttons, dividers, spacers, lines, and more * **Components**: If you're using a design system, branded components will appear here * **Search**: Use the search bar to quickly find specific elements **How to use it:** * Simply drag any element from the left panel onto your canvas * Elements will be placed where you drop them * You can drag multiple copies of the same element if needed ### Center: Canvas This is your email. Everything you see here is a live preview: * The canvas shows your email at actual width (typically 600px for email width) * This is the visual representation of what your recipients will see * Click on any element to select it * You can see how your design looks as you build it * Use the zoom controls (bottom right) to zoom in/out if needed ### Right Panel: Properties When you select an element, the properties panel appears on the right: * **Design Properties**: Colors, backgrounds, borders, shadows, etc. * **Typography**: Font family, size, weight, line height, text alignment * **Spacing**: Padding and margin controls * **Layout**: Width, height, alignment, positioning options * **Advanced**: Conditional logic, dynamic content, and other advanced features * **Context**: Element-specific settings (for example, buttons show "Link" and "Text" settings) Properties change depending on what element is selected. A text block will show text-specific options, while an image will show image-specific options. ### Top Toolbar The top of the editor contains essential controls: * **Back**: Return to your project * **Template Name**: Shows your template's name; click to rename it * **Save**: Manually save (templates auto-save, but you can force a save) * **Preview**: See how your email looks across devices and email clients * **Publish**: Share or export your template (depending on your integrations) * **More Options**: Duplicate, delete, or access advanced settings * **Account Menu**: Workspace settings, billing, and account options ## Start Building Now you're ready to design! Here's a basic workflow: 1. **Add elements** by dragging them from the left panel onto your canvas 2. **Arrange elements** by dragging them around the canvas, or use alignment controls in the right panel 3. **Customize appearance** by selecting an element and editing its properties on the right 4. **Use your design system components** (if applicable) to maintain brand consistency 5. **Preview frequently** to see how your email looks on different devices ## Saving Your Work Good news: Email Love Builder saves your work automatically. You don't need to worry about losing your progress. That said: * You can manually save at any time by clicking **Save** or pressing Ctrl+S (Windows) / Cmd+S (Mac) * The save icon shows you when there are unsaved changes * Your version history is automatically maintained (see your template's settings to view previous versions) ## Preview Your Email Before you're done, it's important to preview your email on different devices: 1. Click the **Preview** button in the top toolbar 2. You'll see how your email looks on: * **Desktop**: Full-width view (typically 600px) * **Mobile**: Mobile-width view (typically 320px) * **Different email clients**: Gmail, Outlook, Apple Mail, and others 3. Make adjustments in the editor if needed 4. Click **Close Preview** to return to editing ## Next Steps Congratulations! You've created your first email template. Here's what to do next: * **Explore Editor Features**: Read our [Editor Guide](/builder/editor/overview) to learn about responsive design and advanced customization * **Build a Design System**: If you haven't already, set up a [Design System](/builder/design-systems/overview) to save time and maintain consistency * **Connect an Email Platform**: Check out [Integrations](/builder/integrations/overview) to export templates to Braze, Iterable, or Marketo * **Invite Your Team**: Use [Team Management](/builder/team/overview) to collaborate with colleagues * **Import from Figma**: If you have designs in Figma, use the [Figma plugin](/builder/figma-plugin/overview) to bring them into Email Love Builder You're all set. Happy building! # Email Love Builder Overview Source: https://help.emaillove.com/builder/getting-started/overview Email Love Builder is a web-based email builder for creating on-brand emails in your browser. Set up your account and create your first template in minutes. Email Love Builder is a web-based email builder for creating on-brand marketing emails in your browser, no Figma required. Teams build from shared design systems and pre-built components, collaborate in workspaces, and export production-ready HTML or sync templates straight to their ESP. It pairs with the [Email Love Figma plugin](/builder/figma-plugin/overview): designs created in Figma can sync in for browser-based editing. This guide walks you through setting up your account and creating your first email template. You'll be designing emails in minutes. Email Love Builder is currently in beta and available by invitation. To get started: 1. Head to [emaillove.com](http://emaillove.com) and click **Join the Waitlist** 2. Enter your email address 3. We'll be in touch once your spot is ready When you first sign up, a **workspace** is created for you automatically. Think of a workspace as your own organizational hub: * Each workspace has its own projects, design systems, and team members * You can invite collaborators and manage permissions at the workspace level * Workspaces keep different clients, brands, or departments completely separate * You can create additional workspaces if you need to manage multiple teams or brands For most users, one workspace is plenty. If you're managing multiple brands or teams, you can create additional workspaces anytime from your account settings. A **project** is a folder that holds your email templates. It's useful for organizing templates by campaign, client, or purpose. To create a project: 1. From your workspace, click the **Projects** tab in the left sidebar 2. Click **New Project** 3. Give your project a name (e.g., "Winter Campaign" or "Client: Acme Corp") 4. Optionally add a description to help your team understand its purpose 5. Click **Create** You're now ready to create your first email template. Now for the fun part: building your first email. You have two ways to start: Perfect for custom designs or when you don't have a design system yet. * You'll get access to **Layouts** (pre-made structural templates like single-column, two-column, etc.) * You'll get access to **Basic Elements** (buttons, text, images, dividers, spacers, and more) * You have complete freedom to design however you want Ideal if your team has already set up a design system with branded components. * You'll get **Pre-built Components** that follow your brand guidelines (branded buttons, headers, footers, etc.) * You'll get **Branded Layouts** tailored to your brand * You'll get consistent **Base Styles** (colors, fonts, spacing) applied automatically * Templates built this way ensure consistency across all your emails If you haven't set up a design system yet, don't worry: you can do that later. ### Creating Your Template 1. Inside your project, click **New Email** 2. Choose your starting point: * **Start from Scratch**: select a layout (or start with a blank canvas) * **Start from Design System**: select your design system 3. Give your template a name (e.g., "Welcome Email" or "Holiday Sale") 4. Click **Create** Your editor will open automatically. The editor is where the magic happens. Here's a quick orientation: **Left Panel: Elements** * Contains all available elements you can add to your email (text, images, buttons, components from your design system, etc.) * Simply drag elements onto the canvas to add them **Center: Canvas** * This is your email. What you see here is a live preview of how your email will look * Click on any element to select it and edit its properties **Right Panel: Properties** * Customize the selected element's appearance and settings * Change colors, fonts, spacing, alignment, and more * Shows you the settings available for whatever you've selected **Top Toolbar** * Save, preview, and publish controls * Undo/redo and other quick actions * Workspace switcher and account settings As you design, your template is saved automatically. To ensure everything looks great: 1. Click **Preview** in the top toolbar to see how your email looks in different email clients and devices 2. Check mobile and desktop previews 3. When you're happy with your design, click **Save** (or use Ctrl+S / Cmd+S) ## What's Next? Congratulations on creating your first email! Here are some natural next steps: * **Explore the Editor**: Read our [Editor Guide](/builder/editor/overview) to master advanced features * **Set Up a Design System**: Learn how to build [Design Systems](/builder/design-systems/overview) to keep your templates brand-consistent and save time * **Connect an ESP**: Head to [Integrations](/builder/integrations/overview) to export your templates to Braze, Iterable, or Marketo * **Invite Your Team**: Use [Team Management](/builder/team/overview) to collaborate with designers, marketers, and developers Happy building! If you have any questions, our support team is ready to help. # Braze Source: https://help.emaillove.com/builder/integrations/braze Connect your Braze account and export templates directly to Braze. This guide will walk you through connecting your Braze account to Email Love Builder, enabling you to export email templates directly to Braze. ## Prerequisites Before connecting, you'll need: * A Braze account with administrator access * Your Braze REST API Key (with email template permissions) * Your Braze instance identifier (e.g., US-01, US-02, EU-01) ## Connecting Braze Your Braze instance identifier is shown in the Braze dashboard URL or in your account settings. Common instances include: * US-01, US-02, US-03, US-04 (United States) * EU-01 (Europe) * AP-01 (Asia Pacific) 1. Log in to your Braze dashboard 2. Navigate to **Settings > API Keys** 3. Create a new API Key or use an existing one 4. Ensure the key has permissions for **Email Template** management 5. Copy the API Key value 1. In Email Love Builder, go to **Settings > Integrations** 2. Find **Braze** and click **Connect** 3. Select your Braze instance from the dropdown 4. Paste your Braze REST API Key in the provided field 5. Click **Save** Email Love Builder will validate your credentials. Once validation is complete, your Braze integration is active. ## Exporting Templates to Braze Once connected, exporting a template to Braze is simple: 1. Open a template in the Email Love Builder editor 2. Click the **Export** button in the toolbar 3. Select **Export to Braze** 4. Your template is created as a new email template in your Braze account 5. You can now use this template in your Braze campaigns ## Template Details When you export a template to Braze: * The template name matches the template name in Email Love Builder * The template includes all HTML, styling, and content from your Email Love Builder template * The template is created in an unpublished state, allowing you to review it before use * Any images or assets are embedded or linked based on Email Love Builder's export settings ## Disconnecting Braze To remove the Braze integration: 1. Go to **Settings > Integrations** 2. Find **Braze** in the list 3. Click **Disconnect** Your Braze account and any previously exported templates remain unchanged. You can reconnect at any time. ## Troubleshooting ### "Invalid API Key" Error * Verify that your REST API Key is correct * Confirm that the key has email template permissions enabled * Check that the key hasn't expired in your Braze dashboard ### "Instance Not Found" Error * Double-check that your Braze instance identifier is correct * Ensure your instance matches your Braze dashboard location ### Export Fails * Verify that your Braze integration is still active in Settings > Integrations * Check that your API Key still has the necessary permissions * Try disconnecting and reconnecting your Braze account ## Need Help? For additional support: * Consult [Braze's API documentation](https://www.braze.com/docs) * Contact Braze support for account-specific issues * Reach out to the Email Love Builder team for integration questions # Iterable Source: https://help.emaillove.com/builder/integrations/iterable Connect your Iterable account and export templates directly to Iterable. This guide will walk you through connecting your Iterable account to Email Love Builder, enabling you to export email templates directly to Iterable. ## Prerequisites Before connecting, you'll need: * An Iterable account with administrator access * Your Iterable Server-side API Key (with email template permissions) * Your Iterable data center location ## Connecting Iterable Iterable operates in multiple data centers. Your data center is typically indicated in your Iterable dashboard URL or account settings. Common options include: * US (United States) * EU (Europe) If you're unsure, check your Iterable account settings or contact Iterable support. 1. Log in to your Iterable dashboard 2. Navigate to **Settings > API Keys** 3. Create a new Server-side API Key or use an existing one 4. Ensure the key has permissions for **Email Template** management 5. Copy the API Key value Use a Server-side API Key, not a Mobile API Key. Only Server-side keys have the necessary permissions for template management. 1. In Email Love Builder, go to **Settings > Integrations** 2. Find **Iterable** and click **Connect** 3. Select your Iterable data center from the dropdown 4. Paste your Iterable Server-side API Key in the provided field 5. Click **Save** Email Love Builder will validate your credentials. Once validation is complete, your Iterable integration is active. ## Exporting Templates to Iterable Once connected, exporting a template to Iterable is simple: 1. Open a template in the Email Love Builder editor 2. Click the **Export** button in the toolbar 3. Select **Export to Iterable** 4. Your template is created as a new email template in your Iterable account 5. You can now use this template in your Iterable campaigns ## Template Details When you export a template to Iterable: * The template name matches the template name in Email Love Builder * The template includes all HTML, styling, and content from your Email Love Builder template * The template is created in a draft state, allowing you to review it before use * Any images or assets are included based on Email Love Builder's export settings ## Disconnecting Iterable To remove the Iterable integration: 1. Go to **Settings > Integrations** 2. Find **Iterable** in the list 3. Click **Disconnect** Your Iterable account and any previously exported templates remain unchanged. You can reconnect at any time. ## Troubleshooting ### "Invalid API Key" Error * Verify that you're using a Server-side API Key, not a Mobile API Key * Confirm that the key has email template permissions enabled * Check that the API key is active and hasn't been revoked in Iterable ### "Data Center Not Found" Error * Double-check that your selected data center matches your Iterable account's actual location * If you're unsure, check your Iterable dashboard settings ### Export Fails * Verify that your Iterable integration is still active in Settings > Integrations * Check that your API Key still has the necessary permissions * Try disconnecting and reconnecting your Iterable account * Ensure your Iterable account has space for new templates ## Need Help? For additional support: * Consult [Iterable's API documentation](https://support.iterable.com/hc/en-us/articles/200722416-API-Keys) * Contact Iterable support for account-specific issues * Reach out to the Email Love Builder team for integration questions # Marketo Source: https://help.emaillove.com/builder/integrations/marketo Connect your Adobe Marketo Engage account and export templates directly to Marketo. This guide will walk you through connecting your Adobe Marketo Engage account to Email Love Builder, enabling you to export email templates directly to Marketo. ## Prerequisites Before connecting, you'll need: * A Marketo (Adobe Marketo Engage) account with administrator access * Your Marketo Munchkin ID * Your Marketo API Client ID and Client Secret (from a LaunchPoint API service) ## Connecting Marketo 1. Log in to your Marketo dashboard 2. Navigate to **Admin > Integration > Munchkin** 3. Locate your Munchkin ID in the format: `XXX-XXX-XXX` 4. Copy this value 1. In Marketo, go to **Admin > Integration > LaunchPoint** 2. Find an existing API service with email template permissions, or create a new one 3. Click the service to view its details 4. Retrieve or generate the **Client ID** and **Client Secret** 5. Copy both values The API service must have permissions to create and manage email templates. If creating a new service, ensure it's assigned a role with these permissions. 1. In Email Love Builder, go to **Settings > Integrations** 2. Find **Marketo (Adobe Marketo Engage)** and click **Connect** 3. Enter your Marketo Munchkin ID 4. Enter your Client ID and Client Secret 5. Click **Validate** Email Love Builder will validate your credentials against your Marketo account. After validation, you'll be prompted to select a default folder in Marketo where exported templates will be stored. This folder is where new email templates from Email Love Builder will be created. 1. Select your preferred folder from the dropdown 2. Click **Save** Your Marketo integration is now active. ## Exporting Templates to Marketo Once connected, exporting a template to Marketo is simple: 1. Open a template in the Email Love Builder editor 2. Click the **Export** button in the toolbar 3. Select **Export to Marketo** 4. Your template is created as a new email template in Marketo 5. The template appears in your selected default folder 6. You can now use this template in your Marketo campaigns ## Handling Duplicate Template Names If a template with the same name already exists in Marketo, Email Love Builder automatically appends a timestamp to the template name to ensure uniqueness. For example: * Template name: `Welcome Email` * If duplicate exists, Email Love Builder creates: `Welcome Email - 2024-01-15-143022` This prevents accidental overwrites and allows you to manage multiple versions of templates as needed. ## Template Details When you export a template to Marketo: * The template name matches the template name in Email Love Builder (with timestamp appended if a duplicate exists) * The template includes all HTML, styling, and content from your Email Love Builder template * The template is created in the default folder you selected during setup * The template is created as a draft, allowing you to review it before use * Images and assets are included based on Email Love Builder's export settings ## Disconnecting Marketo To remove the Marketo integration: 1. Go to **Settings > Integrations** 2. Find **Marketo (Adobe Marketo Engage)** in the list 3. Click **Disconnect** Your Marketo account and any previously exported templates remain unchanged. You can reconnect at any time. ## Troubleshooting ### "Invalid Munchkin ID" Error * Verify that your Munchkin ID is correct and in the format `XXX-XXX-XXX` * Confirm that it matches the ID shown in **Admin > Integration > Munchkin** ### "Invalid Client ID or Client Secret" Error * Double-check that both values are copied correctly from your LaunchPoint service * Verify that the API service is active and has not been revoked * Ensure the API service has email template permissions ### "Validation Failed" Error * Verify all credentials are correct * Confirm that your Marketo account is active and accessible * Check that the API service has sufficient permissions * Try disconnecting and reconnecting your Marketo account ### Export Fails * Verify that your Marketo integration is still active in Settings > Integrations * Check that your credentials still have the necessary permissions * Ensure your Marketo account has space to create new templates * Try selecting a different default folder during reconnection ## Need Help? For additional support: * Consult [Adobe Marketo's API documentation](https://developers.marketo.com/) * Review [Marketo's LaunchPoint setup guide](https://docs.marketo.com/display/public/DOCS/LaunchPoint) * Contact Adobe Marketo support for account-specific issues * Reach out to the Email Love Builder team for integration questions # Overview Source: https://help.emaillove.com/builder/integrations/overview Export your email templates directly to leading ESPs (Braze, Iterable, Marketo). Email Love Builder integrates seamlessly with leading Email Service Providers (ESPs), allowing you to export your email templates directly to your sending platform with just one click. ## Supported Integrations Email Love Builder currently supports the following ESPs: * **Braze** - Customer engagement platform * **Iterable** - Growth marketing platform * **Marketo (Adobe Marketo Engage)** - Marketing automation platform ## Getting Started All ESP integrations are configured in a single, centralized location: 1. Navigate to **Settings > Integrations** 2. Find the ESP you want to connect 3. Click **Connect** and follow the setup steps (see individual setup guides below) 4. Enter your API credentials and save ## Using Your Integrations Once you've connected an ESP, exporting templates is straightforward: 1. Open a template in the editor 2. Click the **Export** button in the toolbar 3. Select **Export to \[Your ESP]** 4. Your template is created as a new email template in your connected ESP account ## Multiple Integrations You can connect multiple ESPs simultaneously. This is useful if you send campaigns across different platforms or want to maintain templates in multiple systems. Each integration is managed independently in Settings > Integrations. ## Setup Guides Select your ESP to view detailed setup instructions: * [Braze Setup Guide](/builder/integrations/braze) * [Iterable Setup Guide](/builder/integrations/iterable) * [Marketo Setup Guide](/builder/integrations/marketo) ## Disconnecting an Integration To disconnect an ESP: 1. Go to **Settings > Integrations** 2. Find the ESP you want to disconnect 3. Click **Disconnect** Disconnecting an ESP will remove the connection but will not affect templates already exported to that platform. ## Troubleshooting If you encounter issues connecting to an ESP, verify that: * Your API credentials are correct and active * Your API key has the necessary permissions for email template management * Your API credentials have not expired * Your Email Love Builder account has sufficient permissions For additional support, contact the Email Love Builder team or consult your ESP's documentation. # Overview Source: https://help.emaillove.com/builder/team/overview Invite members, assign roles, and manage permissions in a shared workspace. Email Love Builder makes it easy to collaborate with your team on email templates in a shared workspace. This guide covers everything you need to know about inviting members, assigning roles, and managing permissions. Collaborative workspaces in Email Love Builder allow your entire team to work together on email templates. Each member can be assigned a specific role that determines what they can see and do within the workspace. ## Roles and Permissions Email Love Builder uses a flexible role system to control what team members can access and modify: ### Account Owner The Account Owner is the person who originally created the workspace. This role is permanent and cannot be changed or transferred to another user. **Permissions:** * Full administrative access to the workspace * Manage all team members and their roles * Access workspace settings, design systems, and integrations * Create, edit, and delete templates * Lock and unlock template sections ### Owner Owners are trusted team members promoted by the Account Owner. They have nearly identical permissions to the Account Owner and can help manage the workspace. **Permissions:** * Manage team members and assign roles * Configure workspace settings, design systems, and integrations * Create, edit, and delete templates * Lock and unlock template sections * Cannot modify Account Owner role or workspace ownership ### Editor Editors are the core content creators in your workspace. They can create new templates and make changes to existing ones. **Permissions:** * Create and edit email templates * Cannot modify locked sections (protected by Owners) * Cannot change team settings or manage members * View all templates in the workspace ### Commenter Commenters have view-only access with the ability to provide feedback through comments. **Permissions:** * View all templates in the workspace * Leave comments on templates * Cannot edit templates or modify any settings * Ideal for stakeholders and approvers who need visibility without editing access ## Inviting Team Members Getting new members into your workspace is straightforward. **To invite a team member:** 1. Click **Settings** in the left navigation menu 2. Select the **Team** tab 3. Click the **Invite Member** button 4. Enter the team member's email address 5. Select their role from the dropdown (Account Owner, Owner, Editor, or Commenter) 6. Click **Send Invitation** The team member will receive an invitation link via email. They can click it to join your workspace with the assigned role. ## Managing Team Members After members join your workspace, you can update their roles or remove them as needed. **To change a member's role:** 1. Go to **Settings** > **Team** 2. Find the member in the list 3. Click the role dropdown next to their name 4. Select the new role 5. Changes take effect immediately **To remove a member:** 1. Go to **Settings** > **Team** 2. Find the member you want to remove 3. Click the **Remove** button next to their name 4. Confirm the removal Once removed, the member will no longer have access to your workspace or its templates. ## Section Locking Owners can protect specific sections of a template to prevent editors from making accidental or unwanted changes. This is useful for maintaining consistency across templates. ### Protected Sections Section locking is commonly used to protect: * Email headers and branded logos * Footers with legal information or compliance text * Navigation sections * Pre-approved design elements ### How Section Locking Works When an Owner locks a section in a template, Editors can still view it but cannot modify the content, styling, or structure within that section. The locked section remains visible but is not editable. **To lock a section:** 1. Open the template in the editor 2. Select the section you want to lock 3. Click the **Lock** option in the section menu 4. Only Owners and the Account Owner can unlock the section later **To unlock a section:** 1. Select the locked section 2. Click **Unlock** (only visible to Owners and Account Owners) 3. Editors can now modify the section again ## Best Practices * **Use appropriate roles:** Assign the minimum required permissions to each team member * **Leverage section locking:** Protect critical elements like legal disclaimers and brand headers * **Regular reviews:** Periodically review your team membership and update roles as needed * **Communicate changes:** Let your team know about new members and permission updates ## Need Help? If you have questions about team management or need to troubleshoot role permissions, contact our support team. We're here to help! # Canceling Your Subscription Source: https://help.emaillove.com/plugin/account/cancel How to cancel a Stripe subscription from the plugin's Account page, or a legacy Gumroad membership How you cancel depends on how you signed up. New customers subscribe through Stripe from inside the plugin. Customers who purchased through Gumroad manage their membership on Gumroad. ## If You Signed Up Through the Plugin (Stripe) Open the Email Love Figma plugin. Click on your profile name on the top left corner of the plugin interface. On the **Account** page, click the **Manage Subscription** button. The Stripe billing portal opens in your browser. Click **Cancel plan** and confirm. Your plan stays active until the end of the current billing period, then your workspace moves to the Free plan. You keep your account, your designs stay in your Figma files, and you can resubscribe at any time from the Account page. Only the workspace owner can cancel. If you're a member of someone else's workspace, ask the owner to make the change. ## If You Purchased Through Gumroad Open the Email Love Figma plugin. Click on your profile name on the top left corner of the plugin interface. On the **Account** page, click the **Manage Subscription** button. You will then be redirected to the Gumroad membership management page. Click the **Cancel Membership** button at the bottom. The video below shows how to cancel a Gumroad subscription. Gumroad membership management page showing where to click the Cancel Membership button From the Gumroad membership management page, you may also: * Change your subscription plan. * Adjust the number of your licensed seats. If you have any questions or need assistance, [please contact our support team.](mailto:support@emaillove.com) # Managing Your Subscription Source: https://help.emaillove.com/plugin/account/manage-subscription Upgrade, change seats, or update billing: Stripe subscriptions from the plugin's Account page, Gumroad subscriptions on Gumroad How you manage your Email Love subscription depends on how you signed up. You can subscribe through Stripe from inside the plugin, or purchase a license through Gumroad. Both paths are fully supported. ## If You Signed Up Through the Plugin (Stripe) ### Upgrading from Free to a Paid Plan Open the Email Love plugin and click your profile name in the top left corner to open the **Account** page. Click **Upgrade plan**. Choose **Starter**, **Growth**, or **Professional**. Pick **Monthly** or **Annual** billing. Professional is billed annually. Set the number of seats you need. Starter and Growth start at 1 seat, Professional at 3 seats. Click **Continue to checkout** and complete the payment on the secure Stripe checkout page. Your plan activates automatically in the plugin within a few minutes. See [Email Love Subscription Plans](/plugin/account/plans) for what each plan includes. ### Changing Your Plan, Seats, or Payment Details Open the **Account** page in the plugin. Click **Change plan / seats** to switch plans or adjust seat count, or click **Manage Subscription** to open the Stripe billing portal. In the Stripe portal you can update your payment method, view invoices, change your billing address, or cancel. Only the workspace owner can manage billing. If you're a member of someone else's workspace, ask the owner to make plan changes. ### If a Payment Fails If a renewal payment fails, Stripe retries automatically and emails you to update your payment method. If payment can't be collected, your workspace moves to the Free experience until billing is resolved. Update your card in the Stripe billing portal (**Account** page, then **Manage Subscription**) to restore your plan. ## If You Purchased Through Gumroad Licenses are still available for purchase on our [Gumroad page](https://emaillove.gumroad.com/l/email-love-figma-plugin), and existing Gumroad subscriptions and license keys work exactly as before: Go to your [Gumroad subscription page](https://app.gumroad.com/subscriptions) (or use the **Manage Subscription** link on the plugin's Account page). From there you can change your plan, adjust the number of licensed seats, or update payment details. License cost is on a per-seat basis for both Stripe and Gumroad subscriptions. If you have any questions or need assistance, [please contact our support team.](mailto:support@emaillove.com) # Email Love Subscription Plans Source: https://help.emaillove.com/plugin/account/plans The Free, Starter, Growth, Professional, and Enterprise plans, what each includes, and how to sign up from the plugin Email Love offers five plans. New accounts sign up directly from the plugin and pay securely through Stripe. No license key is needed, and you can cancel any time. ## The Plans 1. **Free**: \$0. Includes 5 HTML exports per month, 100+ pre-built components, HTML weight optimization, 1 AI Import per month, generate 1 email from a brief, 30GB per month of image hosting, the AI Copilot, MCP access with 5 email builds per month, and access to our Discord community. Ideal if you're trying out Email Love. 2. **Starter**: $19 per user, per month, or $15.20 per user, per month billed yearly (\$182.40 per user, per year). Includes 10 HTML exports per month, 1 design system, 10 AI Imports per month, generate 10 emails from a brief, 100GB per month of image hosting, MCP access, and email and Discord support. Ideal for freelancers and SMBs. 3. **Growth**: $59 per user, per month, or $47.20 per user, per month billed yearly (\$566.40 per user, per year). Our most popular plan. Includes unlimited HTML exports, 5 shared design systems, 20 AI Imports per month, generate 20 emails from a brief, 1TB per month of image hosting, and MCP access. 4. **Professional**: \$1,788 per user, per year. Billed annually, minimum 3 users. Includes unlimited HTML exports, unlimited design systems, unlimited AI Imports per user, generate 100 emails from a brief, 2TB per month of image hosting, MCP access, and dedicated Slack support. 5. **Enterprise**: Custom pricing. Includes a custom design system with up to 100 components, QA across 90+ email clients, team training, 10 user licenses for 12 months, and a dedicated Slack channel. [Book a demo](https://calendar.notion.so/meet/matthayes/matthayes) to get started. Paid plans are priced per user. You can choose the number of seats during checkout and change it later at any time. ## How to Sign Up When you open the Email Love plugin in Figma for the first time, you'll see three options: 1. **Sign up for free**: Creates a free Email Love account. Your browser opens to complete the signup, and the plugin signs you in automatically once you're done. This puts you on the Free plan with 5 HTML exports per month. No credit card required. 2. **Existing user? Sign in**: Signs you into an account you've already created. 3. **Gumroad License Key**: For customers with a Gumroad license. Licenses are still available for purchase on our [Gumroad page](https://emaillove.gumroad.com/l/email-love-figma-plugin), and existing keys continue to work exactly as before. ## Upgrading to a Paid Plan You can upgrade any time from inside the plugin: Open the plugin and click your profile name in the top left corner to open the **Account** page. Click **Upgrade plan**. Choose **Starter**, **Growth**, or **Professional**, pick monthly or annual billing (Professional is annual only), and set the number of seats. Click **Continue to checkout**. A secure Stripe checkout page opens in your browser. Your plan activates automatically in the plugin. Email Love payments are processed by Stripe and support all major credit cards. ## Tracking Your Usage in the Plugin On plans with monthly limits, the plugin shows a **quota card** wherever a limit applies: on the Export screen for HTML exports, and in AI Studio for AI Imports (Import Design tab) and AI Generations (Generate from Brief tab). Each card shows: * How many you've used this month (for example, "2/5 used") with a progress bar * The date your quota resets (the 1st of next month) * An **Upgrade now** link for moving to a bigger plan The card changes as you approach the limit: on your last export it lets you know, and once you've used everything it turns red and the export button becomes an **Upgrade to export** button that takes you straight to your upgrade options. Plans with unlimited usage for a feature don't show a card for it. ## Existing Gumroad Customers If you purchased Email Love through Gumroad, nothing changes for you. Your license key keeps working, and you continue to manage your subscription through Gumroad. See [Managing Your Subscription](/plugin/account/manage-subscription) for details. For more information about upgrading or downgrading your subscription, see [Managing Your Subscription](/plugin/account/manage-subscription). For help with canceling a subscription, see [Canceling your Subscription](/plugin/account/cancel). # Get Help from Claude or Codex Source: https://help.emaillove.com/plugin/ai/agent-help Use the Email Love workflow to inspect a Figma file, diagnose email problems, and make careful fixes on the canvas Claude and OpenAI Codex can do more than build a new email. They can inspect your Figma file, explain what is wrong, and help you fix it. This is most useful when the problem lives on the canvas: broken structure, clipped text, unexpected spacing, missing components, or an email that will not export. You need the Email Love workflow and the official remote Figma MCP. [Set up Claude or Codex first](/plugin/ai/agents-in-figma#set-up-your-agent). A write request also needs a Full Figma seat, edit access to the file, and the `use_figma` tool. ## Start with a read-only diagnosis Let the agent inspect before it edits. Give it the Figma file link, the page and frame name, what you expected, and what happened instead. ```text theme={null} Use the Email Love workflow and the Figma MCP to inspect this email. Figma file: [link] Page and frame: [name] Problem: [what happened] Expected: [what should have happened] Do not change the canvas yet. Return: 1. The most likely cause 2. The evidence you found in the file 3. The smallest safe fix 4. Anything I need to verify inside the Email Love plugin ``` This separates diagnosis from repair. You can review the evidence before approving any canvas changes. ## Ask it to make the fix Once the diagnosis looks right, continue in the same task: ```text theme={null} Make the smallest safe fix you recommended. Preserve the existing design system, components, variables, and page structure. Do not detach instances or hand-build email structure. Verify the result with a fresh screenshot and tell me exactly what changed. ``` The agent asks for approval before each Figma write. Approve the `use_figma` calls if you want the change to continue. ## Prompts for common jobs ```text theme={null} Check whether my Claude or Codex setup can build Email Love emails in Figma. Confirm the Email Love workflow is available and the Figma connection includes use_figma, get_metadata, and get_screenshot. Do not change any files or canvas content. Tell me the exact missing step if the setup is incomplete. ``` ```text theme={null} Inspect this Email Love email before export: [Figma frame link]. Do not edit it. Check the root frame, component structure, fixed-height text, image blocks, CTA count, alt text, links I still need to verify, mobile risks, and anything likely to flatten into an image. Return a prioritized checklist. ``` ```text theme={null} Diagnose why this Email Love email looks different in the plugin Preview. Figma frame: [link] Preview screenshot: [attach image] Difference: [describe it] Inspect the canvas without changing it. Compare structure, sizing, padding, font fallback risk, column widths, and mobile settings. Tell me what can be fixed in Figma and what must be checked inside the plugin. ``` ```text theme={null} Help me choose the right Email Love route for these existing emails: [describe source]. I have [number] emails and want [one converted email / reusable components / a full design system]. Compare AI Import, a manual rebuild, and the design-system migration workflow. Recommend the smallest route that produces the result I need. ``` ```text theme={null} Turn this campaign brief into an Email Love email plan before touching Figma. Recommend the section order, one primary CTA, copy for each section, a subject under 45 characters, and a preheader that adds new information. Brief: [paste brief] ``` ## What the agent can inspect With the remote Figma MCP connected, Claude or Codex can inspect: * Pages, frames, layers, components, variables, text, fills, sizing, and auto layout * Screenshots of the email and individual sections * Whether the file contains a usable Email Love design system * Visible structure problems that commonly break preview or export With `use_figma`, it can also create or update canvas content after you approve the write. ## What you still need to show it The agent cannot see the Email Love plugin panel or values stored only inside the plugin. Attach a screenshot or paste the exact message when the problem involves: * An export or API error * An account, plan, license, or quota message * A link or mobile setting entered inside the plugin * A mismatch visible only in Preview * The final output inside your ESP Never paste API keys, passwords, license keys, or other secrets into the task. Describe the error and redact sensitive values from screenshots. ## When to contact support Contact [support@emaillove.com](mailto:support@emaillove.com) when the problem involves your account, billing, quota, a server error, or an ESP connection. Include the exact error, your Figma frame link, and a screenshot with secrets hidden. For canvas and structure problems, a read-only agent diagnosis is usually the fastest first step. ## Related articles * [Build Emails in Figma with Claude or Codex](/plugin/ai/agents-in-figma) * [Troubleshooting and FAQ](/plugin/getting-started/troubleshooting) * [Import Existing Designs with AI Import](/plugin/ai/ai-import) * [Migrating an Existing Design System or Template](/plugin/getting-started/migrate-design-system) * [Export Overview](/plugin/export/overview) # Build Emails in Figma with Claude or Codex Source: https://help.emaillove.com/plugin/ai/agents-in-figma Connect an AI agent to Figma, give it an email brief, and build editable, export-ready Email Love emails from your components Give Claude or OpenAI Codex a brief and a Figma file link. It builds a real Email Love email on your canvas that your team can edit, review, and export to your ESP. **Not a screenshot. Not a mockup. A real email.** The agent builds campaigns from your published Email Love components. If you are starting without a design system, its first job is to [build or migrate one](/plugin/getting-started/migrate-design-system) from your existing emails and designs. ## What you need There are three pieces: 1. The **[Email Love Figma plugin](/plugin/getting-started/install)**, installed in Figma and ready to open in the file where you want to build 2. The **Email Love workflow**, installed in Claude or Codex so the agent understands export-safe email structure 3. The **[official remote Figma MCP](https://developers.figma.com/docs/figma-mcp-server/remote-server-installation/)**, which gives the agent access to your canvas To write to the canvas, you also need a **[Full Figma seat](https://developers.figma.com/docs/figma-mcp-server/write-to-canvas/)** and edit permission for the file. The Figma connection must include `use_figma`, `get_metadata`, and `get_screenshot`. A connection without `use_figma` is read-only. Your agent asks for approval before it writes to Figma. Approve the `use_figma` calls. Declining them stops the build, even when the connection is working. ## Set up your agent Choose the agent you use. You only need to complete one tab. Run these commands once: ```bash theme={null} claude plugin marketplace add email-love/claude-skills claude plugin install email-love@email-love ``` This installs all five workflows: the email builder, template repair, the design-system migration pair (audit and converter), and the quality-gates acceptance audit that independently verifies migration batches before approval. For the personalization work that happens after export, the same marketplace also carries [templating skills for ten ESPs](/plugin/components/dynamic-content): ```bash theme={null} claude plugin install emaillove-esp@email-love ``` [Figma recommends](https://developers.figma.com/docs/figma-mcp-server/remote-server-installation/) its official Claude Code plugin: ```bash theme={null} claude plugin install figma@claude-plugins-official ``` Or connect the server manually for your user account: ```bash theme={null} claude mcp add --scope user --transport http figma https://mcp.figma.com/mcp ``` Start a new Claude Code session. Run `/mcp`, select Figma, and complete the sign-in flow. Confirm that the connection includes `use_figma` before asking it to build. To offer the plugin automatically to everyone who works in one of your repositories, add this to the repository's `.claude/settings.json` and commit it: ```json theme={null} { "extraKnownMarketplaces": { "email-love": { "source": { "source": "github", "repo": "email-love/claude-skills" } } }, "enabledPlugins": { "email-love@email-love": true } } ``` Each teammate is prompted to install the plugin the first time they trust the folder, with no commands to run. Anyone who prefers to opt out sets `"email-love@email-love": false` in their personal `.claude/settings.local.json`. Enable **Code execution and file creation** under **Settings → Capabilities**. Download `emaillove-figma-builder.skill` from the [latest Email Love release](https://github.com/email-love/claude-skills/releases). Then open **Customize → Skills**, click **+ → Create skill → Upload a skill**, and upload the file. Make sure the skill is switched on. Open **Customize → Connectors**, click **+ → Add custom connector**, and add: ```text theme={null} https://mcp.figma.com/mcp ``` Complete the Figma sign-in flow. On Team and Enterprise plans, an organization owner must add the connector before members can connect it. In a new conversation, click **+ → Connectors** and enable Figma. Confirm that the connection exposes `use_figma`, then share your Figma file link and brief. If `use_figma` is missing, Claude can plan the email or prepare an AI Import handoff, but it cannot write to your Figma Design file. In Claude, enable **Code execution and file creation** under **Settings → Capabilities**. Download `emaillove-figma-builder.skill` from the [latest Email Love release](https://github.com/email-love/claude-skills/releases). Open **Customize → Skills**, click **+ → Create skill → Upload a skill**, and upload it. [Skills enabled in Claude are also available in Cowork](https://support.claude.com/en/articles/12512180-use-skills-in-claude). Open **Customize → Connectors**, click **+ → Add custom connector**, and add: ```text theme={null} https://mcp.figma.com/mcp ``` Complete the Figma sign-in flow. [Remote connectors added to your Claude account are available in Cowork too](https://support.claude.com/en/articles/11725091-when-to-use-desktop-and-web-connectors). Open the **Cowork** tab in Claude Desktop. Start a new task, enable Figma from **+ → Connectors**, and confirm that it exposes `use_figma`. Then share your Figma file link and brief. [Cowork uses remote connectors through Anthropic's cloud](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp). A local Figma desktop MCP connection is not available inside Cowork. [Open Email Love in the Codex Plugins Directory](https://chatgpt.com/plugins/plugins_6a739f43c3b48191b1281a9b2d48b409) and install it. The plugin includes the email builder, template repair, the design-system migration pair, and a quality-gates acceptance audit, plus [templating skills for ten ESPs](/plugin/components/dynamic-content) (Salesforce Marketing Cloud AMPscript, Klaviyo, Braze, Iterable, HubSpot, and more) for the personalization work that happens after export. It also offers the Email Love connection: sign in with your Email Love account when prompted and the agent can research real campaigns and lifecycle journeys for inspiration, convert your existing designs through AI Import, and verify builds through the production exporter with desktop and mobile previews. In the Codex app, open **Plugins**, click **+** next to Figma, then choose **Install Figma** and complete the sign-in flow. For the Codex CLI, connect it manually instead: ```bash theme={null} codex mcp add figma --url https://mcp.figma.com/mcp codex mcp login figma ``` Start a new Codex task after both plugins are installed. Confirm that Figma provides `use_figma`, then share your Figma file link and brief. To test an exact repository release instead of the reviewed public plugin: ```bash theme={null} codex plugin marketplace add email-love/codex-agents --ref v4.11.1 codex plugin add email-love@email-love ``` Replace `v4.11.1` with `main` only when testing unreleased work. ## First, prepare your design system Before you build a campaign email, your Figma file needs a working Email Love design system. Choose the route that matches your starting point: If your Email Love components are already synced, the agent can inventory them and start building campaigns. Have old Figma templates, ESP emails, or an agency library? Audit and rebuild them as a new Email Love design system before campaign work begins. No library yet? Give the agent your best existing email or design. It builds the foundations and reusable modules first. Building or migrating a design system sends rendered images of your source designs, plus any metadata the agent pins, to the Email Love design-converter service. Remove personal or confidential content first and review the [data-handling guidance](https://github.com/email-love/codex-agents/blob/main/SECURITY.md) before using sensitive material. ## Build your first email Once your design system is ready and synced, copy this prompt and replace the brackets: ```text theme={null} Using the synced Email Love design system in [Figma file link], build a promo email. Audience: [who will receive it] Goal: [what you want them to do] Offer or message: [the key facts] CTA: [one button label and destination] Match the voice from existing campaigns in the file. Leave missing imagery as gray placeholders for our design team. ``` Then the workflow is simple: It inventories the synced Email Love components and studies existing campaigns before it changes anything. It selects your header, hero, content, CTA, and footer components based on the brief. It never detaches or redraws their internal structure. Approve the Figma writes as they appear. A normal email takes a few minutes, and the agent reports progress by section. Edit copy, swap imagery, and comment in Figma. Then select the finished frame and export it through the Email Love Figma plugin, the same way you export an email built by hand. ## What to expect * **A build takes minutes, not seconds.** Most of the time is spent waiting for Figma canvas operations. * **One primary CTA works best.** Give the agent one action for each email. * **New imagery may stay gray.** The agent preserves image blocks so your design team can art-direct them later. * **Links are provisional.** Verify CTA and image links in the Figma plugin before export. * **The result stays editable.** Your team can review, comment, and make normal Figma edits. * **Building is free.** Exports count against your Email Love plan. The Free plan includes five exports per month. ## If the build does nothing Check these in order: 1. **Is `use_figma` available?** If not, the connection is read-only. Connect the official remote Figma MCP, not the desktop server. 2. **Do you have a Full Figma seat and edit access?** Read access is not enough for canvas writes. 3. **Did you approve the tool calls?** Declining a `use_figma` request stops the build. 4. **Did you start a new task after installation?** Skills and plugin tools load when a new Claude or Codex session starts. 5. **Is the Email Love Figma plugin current?** Older releases may not recognize agent-created email frames. If the agent still cannot write to Figma, ask it for an email plan or use the [AI Import handoff](/plugin/ai/ai-import) instead. ## Go further Learn how export-safe structure works, use another agent, create email roots, and prepare reusable modules. Upload your own Email Love components so agents can reuse them in every campaign. Audit and rebuild legacy email templates without modifying the source. Let the agent search Email Love's library for patterns, pacing, and subject-line direction. Use read-only diagnosis prompts for structure, preview, setup, and export problems. ## Need help? Email [hello@emaillove.com](mailto:hello@emaillove.com) and we'll respond within a business day. # Advanced Figma MCP Guide Source: https://help.emaillove.com/plugin/ai/agents-in-figma-advanced How Email Love agents preserve export structure, create root frames, and prepare reusable modules in Figma This guide covers the mechanics behind [building emails with the Figma MCP](/plugin/ai/agents-in-figma). You do not need it for a normal campaign build. Use it when you need to: * 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: 1. 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. 2. The **official Figma MCP** lets the agent read and write your Figma canvas. Normal email builds require its `use_figma` tool. The optional [Email Inspiration MCP](/plugin/ai/email-inspiration-mcp) is separate. It searches real marketing emails for patterns and ideas, but it does not build or export anything. ## 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 its `mj-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](/plugin/ai/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: ```text theme={null} Build emails in my Figma file using the Figma MCP. File: [paste your Figma file link] The file contains an Email Love design system. Start each email by duplicating an existing Email Love email frame. Fill it with instances of my published components and rewrite their content. Never detach an instance. Never hand-build mj-section or mj-column structure. If no component fits, stop and ask me instead of drawing the section freehand. Campaign brief: [What emails you need, the audience, the message, and one CTA per email] Reuse our header and footer. Match the voice in our existing campaigns. Leave missing imagery as gray placeholders. Leave existing CTA links unchanged for us to verify in the Email Love plugin. ``` This prompt is a fallback, not a replacement for the full workflow. It cannot carry all of the structure checks, conversion rules, and repair steps in the installed skill. ## 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: ```js theme={null} frame.setSharedPluginData('emaillove', 'nodeType', 'mainFrame') ``` It must also seed every root theme and fallback setting. Empty values are not neutral and can produce incorrect dark-mode defaults. ```js theme={null} frame.setSharedPluginData('emaillove', 'backgroundColor', '#ffffff') frame.setSharedPluginData('emaillove', 'contentColor', '#ffffff') frame.setSharedPluginData('emaillove', 'textColor', '#000000') frame.setSharedPluginData('emaillove', 'linkColor', '#000000') frame.setSharedPluginData('emaillove', 'buttonTextColor', '#ffffff') frame.setSharedPluginData('emaillove', 'buttonContentColor', '#000000') frame.setSharedPluginData('emaillove', 'lightThemeBackgroundColor', '#ffffff') frame.setSharedPluginData('emaillove', 'fallBackFontName', 'Arial') ``` The root is only an empty container. Everything inside it must come from published components or generated structure. ## 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-wrapper` component with no template marker on it or inside it. Ask the agent to prepare a module with a direct prompt: ```text theme={null} Componentize the header, hero, and footer from this email as separate mj-wrapper modules with no template marker. Name them clearly and add properties only for content our team will change between campaigns. ``` Then upload them: Use the dropdown in the top left. Choose Header, Heroes, Single Column, Footer, or the closest existing category. You can select several wrappers and upload them as one batch. The plugin reports the success and failure count when the batch finishes. Do not put email-level theme colors on a reusable module unless the block deliberately needs its own dark-mode treatment. See [Creating and Managing Design Systems](/plugin/components/design-systems) for the full upload and sync workflow. ## 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](/plugin/ai/agents-in-figma) * [Import Existing Designs with AI Import](/plugin/ai/ai-import) * [Creating and Managing Design Systems](/plugin/components/design-systems) * [Migrating an Existing Design System or Template](/plugin/getting-started/migrate-design-system) * [Element Reference: Section, Column & Wrapper](/plugin/getting-started/section-column-wrapper) ## Need help? Email [hello@emaillove.com](mailto:hello@emaillove.com) and we'll respond within a business day. # Import Existing Designs with AI Import Source: https://help.emaillove.com/plugin/ai/ai-import How to use AI Import to convert any existing email design, screenshot, or Figma component into a fully editable Email Love frame in minutes AI Import is a feature inside AI Studio that lets you take an existing email design and convert it into a fully editable Email Love frame. You can import a screenshot of an email, a PNG image, or even an existing Figma component. AI Import will convert it into a structured, responsive email template using the MJML format that powers the plugin. This is a huge time saver if you are getting started with the Email Love Figma plugin and don't want to spend hours rebuilding all of your components from scratch. Instead of recreating everything manually, you can import your existing designs in minutes and start customizing from there. **Use AI Import for one email, one section, or a small batch.** If you have a full legacy library and want a reusable design system, use the [Claude or Codex migration workflow](/plugin/getting-started/migrate-design-system) instead. It audits repeated modules before converting them, so you do not rebuild the same block many times.