Figma Plugin Guide

Select a frame, click Send to Klaviyo, and your template is ready - plus editing, updating, and sending a whole flow at once.

Part 3 of 6 - watch all the tutorials in a row.

Installation and sign-in

Install the plugin from the Carvr Figma Community page, or click the plugins icon in Figma's bottom toolbar and search for Carvr. It's included with every Carvr plan.

Sign in with the same email and password you use at carvr.ai. Signed up with Google? The plugin needs a password - set one on your Profile page first (the login screen links there). Your session is stored in Figma so you won't log in every time.

Sending an email

1

Choose the brand

The plugin lists every brand on your account. Pick the one that should receive this template. Not there yet? Connect it on the web first.

2

Set the CTA link

This is the link every section will point to. It starts as the brand's website URL: change it to the product or landing page for this email. Need different links per section? Turn on auto-detect link addresses (the CTA Link field then disappears, and any section without a prototype link uses the brand's website URL), or edit sections afterwards in Carvr or Klaviyo.

3

Select the frame

Click the outer frame that holds the whole email. The plugin shows its name and the send button appears. Everything in the email should live inside that one frame.

4

Click "Send to Klaviyo"

The rest is automatic:

  1. Export the frame as a 1200px-wide JPEG
  2. Slice it into sections the way a human would
  3. Crop and compress each section
  4. Write AI alt text for each section
  5. Create a native drag-and-drop template in Klaviyo

About thirty seconds later the plugin says Template uploaded and shows a preview with the slice lines drawn on so you can see exactly where it cut. The button names the ESP the brand is connected to, so for an Omnisend or Mailchimp brand it reads Send to Omnisend or Send to Mailchimp and the template lands there instead.

After the upload

  • Use in Klaviyo: opens your saved templates in Klaviyo, where your new template sits at the top of the list. See Using Templates in Klaviyo for loading it into a campaign or flow and swapping in your footer.
  • Edit in Carvr - opens your email history on the web. Click Open in Editor on the email to move, add, or delete slice lines, add vertical splits, and change each section's link or alt text. Then click Update in Klaviyo to push the changes into the same template.
  • Slice Another - clears the plugin for the next email.

Making a small change after you've sent

Fixed a typo or swapped a product after the email is already in a campaign? You don't redo anything. Edit the frame in Figma and select it again. If it's at least 80% similar to something you uploaded in the past 7 days, the plugin offers Update in Carvr instead of a fresh send.

1

Click "Update in Carvr"

The plugin re-exports the frame and replaces the image on your existing email, keeping the exact same slice lines, links, and alt text.

2

Push the change

Open it in Carvr and click Update in Klaviyo to update the template - only the sections that changed are re-uploaded. Or, if the email is already customized inside a campaign, click the section's number in the editor, open its menu, and Upload to Klaviyo just that one image (or Download section) and swap it into the campaign yourself.

Sending a whole flow at once

Zoom out, click the first frame, and Shift-click the others. They queue up in the plugin in the order you clicked, and the button becomes Send 3 to Klaviyo (or however many). Each one is sliced, compressed, alt-texted, and uploaded in turn - about thirty seconds apiece, with per-frame progress and a Retry button if one fails. Step away, come back, and they're all in Klaviyo.

Frames in the same batch that are the same design get identical slice points automatically - Figma re-renders each export independently, which can otherwise nudge the slicer into slightly different cuts for what looks like the same email. If the batch would exceed your plan's remaining emails, the plugin tells you before it starts.

Advanced Options

The gear icon opens Advanced Options: auto-detect link addresses from Figma prototype links, live text blocks, and auto-detect the footer (and optionally hide it). All off by default, except that Hide Footer Section starts ticked for a brand that uses Auto-add HTML footer.

Advanced Figma Settings guide - how to set each one up in your Figma file. Live Text Blocks has its own guide.

Note: preview text is not detected from the design. Set the subject line and preview text on the campaign in Klaviyo.

Frame Requirements

  • Width: any - the plugin exports at 1200px wide with the aspect ratio preserved
  • Height: up to 25,000px at export scale (about 12,500px in a 600px-wide design). Upload taller designs in the web app, which takes up to 30,000px
  • Format: exported as JPEG
  • Structure: select the one outer frame that contains the whole email. Prototype links and footer detection only work when that outer container is a frame, not a group

Troubleshooting

"Missing API key" or a Klaviyo connection error

The brand's Klaviyo connection isn't valid any more. Open the brand on the Brands page and click Connect Klaviyo to reconnect. Brands set up with a Private API key can update the key there too.

"Daily image upload limit reached"

Klaviyo allows 100 image uploads per day per Klaviyo account, so brands connected to other Klaviyo accounts are unaffected. What to do about it is in Klaviyo's 100 Images/Day Limit.

"This email is too tall"

The frame is over the plugin's 25,000px export ceiling. Export it as a 1200px-wide image and upload it in the web app, which takes designs up to 30,000px tall.

Usually you've selected a layer inside the email rather than the outer frame. Click the outer frame and the plugin re-reads it. If the outer frame is selected, the design has no On Click → Open Link interactions, or no layer with "footer" in its name. See Advanced Figma Settings.

Frequently Asked Questions

What size should my Figma frame be?

Design at 600px wide, the standard email width. The plugin exports at exactly 1200px wide (2x) as a JPEG and keeps the aspect ratio. Frames up to 25,000px tall at export scale (about 12,500px in a 600px design) are supported. For a taller design, export it and upload it in the web app, which takes designs up to 30,000px tall.

Does the plugin work with Figma's free plan?

Yes. The Carvr plugin works on every Figma plan, including the free tier. You just need a Carvr account to sign in.

I signed up with Google. How do I log into the plugin?

The plugin needs an email and password. Set one on your Profile page in the web app (the login screen has a "Set a password" link) and use that.

Can I process multiple frames at once?

Yes. Shift-click several frames and they queue up in the plugin; one click sends them all, one after another, with per-frame progress and a Retry button if one fails. Frames that are the same design get identical slice points automatically.

How do I make a small change after uploading?

Edit the frame in Figma, select it, and the plugin offers Update in Carvr (for a similar frame uploaded within the past 7 days). It swaps the image in your existing email with the same slice lines, then you click Update in Klaviyo from the editor - or right-click one section and upload just that image.

Does the plugin send to Omnisend or Mailchimp?

Yes. Each brand is connected to exactly one ESP (Klaviyo, Omnisend, or Mailchimp), so the send button names the ESP of the brand you picked: Send to Klaviyo, Send to Omnisend, or Send to Mailchimp. A brand with no ESP connected cannot send until you connect one on the Brands page.

How do I update the plugin?

Figma updates plugins automatically. You always run the latest version.

Do I need a separate subscription for the Figma plugin?

No. The plugin is included with every Carvr plan. Log in with the same account you use on the web.