NewAutomation flows where the emails are interactive

Emails that get answered, not just opened.

Polls, quizzes, spin-to-win and one-tap checkout that start inside the email and inside your automation flows. Smart fallbacks keep every send looking right in every inbox, classic Outlook included.

  • Free plan, forever
  • Zero JavaScript in the mail
  • Works with your ESP
Analog & Co.Vote: which classic comes back this winter?

Help us pick the winter restock

One tap from the email. The winner is back in stock Friday with 20% off for voters.

Voting closes in021437
Thanks! Your vote is in. Code WINTER20 unlocked.
Contact profile updated
favorite_classic: —SLRRotaryBox Camerasegment: engaged

Renders the right version in every inbox

  • Gmail
  • Apple Mail
  • Outlook
  • Outlook.com
  • Yahoo Mail
  • Samsung Mail

55+ blocks · no code

A block for every metric on your dashboard.

  • Grow your list

    Spin-to-win

  • Drive urgency

    Live countdown

  • Zero-party data

    Quiz & product finder

  • Revenue per email

    Checkout from the email

The click gap

Every click out of the inbox is a chance to lose them.

You won the open. Then you send people to a landing page, a load screen and a form. MailInApp puts the poll, the signup, the quiz or the checkout where their attention already is.

A typical campaign

5 steps · readers drop off at every one

  1. Opens the email
  2. Clicks through
  3. Waits for the page
  4. Fills a form
  5. Converts

A MailInApp campaign

2 steps · the whole action starts inside the email

  1. Opens the email
  2. Votes, buys or books

No landing page to build. No page load to wait for. Every answer is written to the contact's profile, so the next email in the flow already knows what they said.

The fallback engine

Interactive email is easy.Not breaking it is the hard part.

MailInApp builds every email in three versions and each inbox shows the best one it can handle. It needs no AMP registration and no JavaScript, and no reader ever gets a blank box.

  1. KineticThe full experience, right in the inbox
  2. StaticA clean static version plus a live view
  3. Classic OutlookA layout built for classic Outlook

Journeys

Your flows already send emails. Now those emails can ask questions.

A standard welcome flow sends a static email. A MailInApp flow sends a quiz, branches on the answer and closes the sale in the next email. You don't need a landing page or a guess.

  1. TriggerJoins your list
  2. Email 1 · InteractiveWelcome quiz
  3. If answer = MinimalCheckout: Essentials kitBuy from the email
    If answer = BoldSpin for a bundle dealSingle-use Shopify code
  4. OutcomeOrder synced

The full loop

One account, from the first signup to the paid invoice

Ten steps take a new lead to a paying customer, and most of them happen inside an email. Pick a step to see how it works.

Measure what matters

Know what they clicked and what they said.

  • Click heatmaps & scroll depth

    See which block pulled its weight, email by email.

  • A/B tests that pick the winner

    Test subjects or content, then roll out the winner hands-free.

  • A quality score before you hit send

    The pre-flight inspector catches problems while you can still fix them.

Personalization and data sources

Experiments

A/B tests that hold up when someone asks how you know.

Fix the question before you send. MailInApp draws a random sample, gives each contact one version and shows every difference with its confidence interval. Inconclusive counts as an answer, and sending the winner is a separate step.

  1. Lock the question first

    Write the hypothesis, choose one primary metric and set the observation window. Locking freezes them, so no one can pick a better-looking number afterwards.

  2. Split a random sample

    Each contact gets exactly one version. A store reward, like free shipping or a discount, becomes a single-use code per contact, so every order counts for the right version.

  3. Read the difference, not just the rates

    Each result comes with its confidence interval and data-quality checks, so a lucky week doesn't pass for a real effect.

  4. Decide, then deploy

    Record a winner with its evidence next to it, or record that it's inconclusive. Sending the winning version to everyone else is its own step.

No migration required

Keep your ESP. Or retire it. Your call.

Start by exporting interactive HTML into the platform you already use. When you're ready, send natively from your own domain. We generate its authentication records and check they're live.

  • Path A · Export

    Paste into your current ESP

    • Mailchimp
    • Klaviyo
    • Brevo
    • SendGrid

    Any ESP with a custom-HTML editor works. Your flows and lists stay put.

    How export works
  • Path B · Send natively

    A full send platform built in

    • Guided DKIM & DMARC
    • One-click unsubscribe
    • Auto-suppression
    • Sunset engine

    Journeys, segments, signup popups and campaign calendar included.

    See native sending

Pricing

Interactive email without the interactive-email price tag.

Every plan includes every block and the full fallback engine. You pay for volume and seats. You never pay extra for the features that make your emails work.

  • Free

    $0

  • Lite

    $29

  • Built for marketing teams

    Pro

    $79/mo

    What the pricier interactive-email tools do, with fallbacks in every inbox.

    • 50,000 emails / mo
    • Unlimited contacts
    • 25 journeys · 3 seats
    • 250 AI suggestions / mo
    Start with Pro
  • Business

    $199

Need more volume or SSO? Compare every feature

Sending

A complete send platform — no ESP required

MailInApp isn't just a builder — it's the full path from a finished email to a delivered one. Send natively from your own domain or trigger sends from your own code; if you already run an ESP, you can keep it too.

Send natively, no ESP required

Connect your own SMTP relay, or verify a domain and send through our built-in infrastructure — DKIM, MAIL-FROM and a starter DMARC record configured for you. MailInApp is the whole platform end to end, not a piece that hands off to one.

A transactional Send API for developers

One authenticated endpoint triggers OTPs, receipts and alerts from your own backend — freeform HTML, or a studio project rendered with your own data, fallback engine and interactive blocks included.

Deliverability handled, not bolted on

Bounces and complaints feed automatic, account-wide suppression, one-click unsubscribe is built into every send, and send history means you always know what already went out.

Already have an ESP? Keep it

Export production-ready, client-tested HTML and send it through Mailchimp, Brevo, SendGrid, Klaviyo, or anything else that accepts custom HTML — for teams with automations and reputation already built there. Entirely optional.

Receive email & sync IMAP inboxes

Receive real mail on your verified domain — support@, hello@, or any address you claim — and connect external IMAP inboxes (Gmail, Outlook, Yahoo) to reply, compose, search and organize all your mail together in one full-featured Mailbox.

Only here for the sending?

You don't need the studio to use MailInApp as your send platform. Verify your domain or plug in the Send API and start sending transactional or bulk email today — the interactive blocks and fallback engine are there if you ever want them, never required.

See native sending in the docs

Receive email

Your domain. Your mailbox. Your addresses.

Once your sending domain is verified, claim any address on it and start receiving real email — no extra service, no extra cost tier, no separate MX provider to sign up for.

  • Named addresses on your domain

    Create support@, hello@, billing@, or anything else — up to the address limit on your plan. Each address is a lightweight inbox that receives real MIME mail parsed and stored securely.

  • Full MIME parsing

    Incoming messages are parsed with PostalMime: HTML, plain text and attachments are all accessible. Reply inline with your own attachments and CC/BCC, forward, download attachments, or route messages through a webhook for your own automation.

  • Unified mailbox for your team

    All your domain addresses land in one mailbox your whole team can access — real search, archive/trash organization, and per-account filter rules, not just a flat list of forwarding rules.

  • Inbound webhook routing

    Forward parsed message payloads to your own endpoint — HMAC-signed — the moment a message arrives. Power your helpdesk, CRM, or custom support queue without polling.

  • Compose, reply & follow up instantly

    Start a brand-new thread to any address, or reply to any past recipient, straight from the dashboard — even a buyer from an in-email checkout. Write with your own saved signature and a full rich-text editor (bold, lists, links, tables). They reply through a private link, and the thread shows up in your mailbox the moment they respond.

  • Reply with a full interactive email

    Formatted text not enough? Open the same studio editor you build campaigns in, right from a thread, and send a poll, product block, or any other interactive email back as that reply — still correctly threaded, sent transactionally with no unsubscribe footer or tracking pixel.

  • Same domain, zero extra setup

    Outbound DKIM, MAIL-FROM and inbound MX records are configured for you when you verify your domain. No MX provider to sign up for separately — receiving comes along with sending.

Got a domain? You already qualify.

Any plan — including Free — lets you receive email on your verified domain. Verify once, claim your first address, and your mailbox is live. No extra service signup, no monthly mailbox fee bolted on.

Learn about domain email receiving

Data & analytics

Personalized going out, measurable coming back

Connect data to make every email personal, and watch interactions stream back the moment recipients engage.

Merge tags

Drop {{first_name}}-style tags anywhere. Preview with real rows before you export.

Hosted tables & API sources

Store recipient data in MailInApp, connect your own API endpoint — including OAuth2 and Salesforce-style JWT authentication — or have your helpdesk/CRM push contact updates straight in. Credentials stay server-side, always.

Segment, soft-launch & schedule

Filter your audience against its own data, send a sample before the rest, then set up a schedule — once on a specific date, or recurring daily/weekly to re-target whoever matches next — hands-off.

CSAT, CES & NPS rollups

Rating blocks roll up into averages, distributions and NPS scores automatically, with breakdowns and trend over time. Flag low scores in the webhook payload or as an in-app alert email, or stream every interaction to your own endpoint with signed webhooks.

Orders that keep talking back

Buyers get an automatic receipt the moment payment clears, and a shipped notice the moment you mark a physical order fulfilled. A refund confirmation goes out whenever a charge gets reversed — even automatically, if a sale clears right as the last unit sells out.

For developers

Trigger it from your own code

The same project you designed in the studio — fallback engine, interactive blocks, merge tags — can also fire from your own signup, checkout or support code. Freeform sends work too, for the classic OTP or receipt.

Read the developer quickstart
curl -X POST https://mailinapp.com/api/v1/send \
  -H "Authorization: Bearer mia_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "to": "[email protected]",
    "projectId": "your-project-id",
    "mergeData": { "name": "Ada", "orderId": "12345" }
  }'

AI connectors

Claude & Gemini connector for interactive email (MCP)

The only interactive-email platform your AI assistant can actually operate. Add MailInApp as an MCP connector in claude.ai, Claude Desktop or Gemini and design, send and read the results of interactive emails from a chat — build a product-drop email, check who answered a survey, send Tuesday's newsletter to the active-subscribers list. No password shared, no new dashboard to learn.

Read the connector overview

Claude

Add MailInApp as a custom connector from Settings → Connectors. MCP Apps widgets render the live email preview and send-confirmation card right in the conversation.

Gemini

Paste the URL into Gemini Spark's Connected apps for a self-serve connection, or set up Gemini Enterprise or Antigravity CLI with a pre-registered client for team-wide use.

FAQ

Questions, answered

Will it break in Outlook?

No. Classic Outlook gets its own purpose-built layout, and you can preview all three versions before sending.

Is this just AMP?

No. It is plain HTML and CSS, with zero JavaScript and no sender registration. That's why it works in inboxes AMP can't reach. Gmail also stops showing AMP 30 days after delivery and drops it when a message is forwarded, while a MailInApp email stays the same.

Do I have to leave my ESP?

No. Export the HTML into the platform you already use, or switch to native sending whenever you like.

What about deliverability?

Native sending includes DKIM, DMARC, one-click unsubscribe, auto-suppression and a sunset engine for inactive contacts.

Do my recipients need to install anything?

Nothing. Interactive emails render natively in the recipient's inbox. Where the inbox can't render interactivity, recipients get a clean static email with a link to a hosted live view — no accounts, no installs.

Is there an API for developers?

Yes. The transactional Send API lets your own backend trigger an email the same way you'd call Brevo, SendGrid or Postmark's send endpoint. Use it freeform for OTPs, receipts and alerts, or trigger a project you designed in the studio, with your own data standing in for a contact row.

Read the developer quickstart
Can I embed courses or webinars in my own app?

Yes. The Embed API lets your own backend enroll or register your own end users into a MailInApp course or webinar, then embed the viewing or joining experience — no MailInApp account needed on their end. Every registration, reminder or completion email can render as a real interactive email you designed, not a hardcoded confirmation.

Read the Embed API quickstart
Does any of this use JavaScript?

Never in the email — every email client strips JavaScript. All in-email interactivity is pure HTML and CSS. That's also why it passes spam filters like any normal email.

How do I get the collected responses into my own tools?

Two ways. The dashboard's Responses view shows everything an email collected, grouped per recipient and joined with your data source — so you see who answered, not just how many. And each project can push every interaction to your own endpoint in real time via HMAC-signed webhooks, ready for your CRM or automation stack.

What about Gmail clipping long emails?

Gmail clips messages over ~102KB and hides the rest of the email, footer and unsubscribe link included, behind "View entire message". The studio tracks your email's size against that budget as you build and warns you before it becomes a problem.

Can I send straight from MailInApp, and does unsubscribe work?

Yes — connect your own SMTP relay once, then send a test copy to yourself or a full campaign to your contacts straight from the dashboard, with send history so you always know what's already gone out. Every email includes a one-click unsubscribe link, and opting out is account-wide: once a recipient unsubscribes, they're suppressed from every campaign you send, not just the one they clicked from.

Can I run a CSAT/NPS survey without a separate tool?

Yes. The rating block supports star, Likert-scale and NPS styles, with a configurable low-score alert threshold and an optional follow-up question on the hosted live view. Segment your audience, soft-launch to a sample, and schedule a recurring send for a rolling window like "resolved 3–7 days ago." Then read CSAT/CES/NPS averages, breakdowns and trend straight from the dashboard, export a CSV, or route low scores to your own webhook or an in-app alert email.

Can I build a multi-page survey with different question types?

Yes. The Form block supports multiple choice, checkboxes, linear scale and star rating questions, alongside the usual text/email/date/dropdown fields, and any question can be assigned to a page. Recipients get a paginated survey with Back navigation on the hosted live view, and answers carry over between pages until they submit. Results roll up per question on the Responses dashboard, same as poll and rating blocks.

Does MailInApp know what kind of email I'm sending?

You can tell it. Pick a purpose (survey, promotion, newsletter or event) when you create a project, and browse a carousel of real starter templates for it before the studio opens with one already on the canvas. That choice also decides which number leads your Responses dashboard: response rate for surveys, recipients engaged for promotions, opens tracked for newsletters and events. It's just a starting point, though — every block stays fully editable, and you can change the purpose anytime.

Can I save my own templates, or share one with other MailInApp users?

Yes. Save any project as a template from the studio toolbar. Keep it private, so it's reusable by just you and your team, or make it public, so it's submitted to a community gallery every MailInApp user can start from. A public one is reviewed before it goes live, so the gallery stays worth browsing rather than a dumping ground. Either way, anything that shouldn't be reused, like a product's real delivery code, a meeting's real join link, or a countdown's actual deadline, gets cleared automatically.

Can I sell directly from an email?

Yes — the Product block drops a Buy now button into any email that charges through your own connected Stripe account, digital or physical, with an optional inventory cap. MailInApp never holds the funds or sees card details. If you already sell on Shopify or WooCommerce, an Import from store picker fills in the block's name, price and photo from your connected store's own synced catalog. It can also point the button straight at that store's own checkout instead of Stripe, so there's nothing to retype and no separate checkout to keep in sync.

Can I follow up with someone after they respond or buy something?

Yes — every order and response links to a lightweight support inbox. Start a conversation with any past recipient, or use "Contact buyer" straight from an order, and they reply through a private link with no account needed on their end. You see the whole thread, and get notified the moment they write back.

Can I receive email at my own domain address?

Yes — once your sending domain is verified, you can claim any address on it (support@, hello@, billing@, and so on) and start receiving real mail there. It lands in a full mailbox dashboard inside MailInApp: reply, compose, search, and organize with folders and filters, not just read. Every plan, including Free, includes at least one address.

Learn about domain email receiving
Do I need a separate MX provider to receive email?

No. When you verify your domain with MailInApp, we configure the outbound DKIM/MAIL-FROM/DMARC records for sending and the inbound MX record for receiving — all in the same setup flow. There's no separate email hosting service to sign up for.

What happens to incoming emails — where do they go?

Incoming messages are delivered to your MailInApp mailbox dashboard, MIME-parsed into readable HTML and plain text with any attachments accessible. You can read, reply with your own attachments and CC/BCC, forward, archive or search from there, or configure a webhook to forward each message payload to your own endpoint — HMAC-signed — the moment it arrives.

Can I format my mailbox replies, or reply with an interactive email?

Yes — replying uses a full rich-text editor (bold/italic/underline, headings, lists, blockquotes, links, a fixed color palette, and tables) and lets you attach files, whether the message is on your domain mailbox or a connected Gmail/Outlook account. For anything bigger than formatted text, "Reply with interactive email" opens the same studio editor you build campaigns in, with the message attached as context. It sends your project back as that specific reply, correctly threaded, with no unsubscribe footer or tracking pixel since it's a one-to-one transactional send.

Can I connect my own Gmail or Outlook inbox instead of just my domain mailbox?

Yes — connect any Gmail, Outlook, Yahoo, or custom IMAP (a standard protocol most email providers support for syncing a mailbox) account from the same Mailbox. It works as a full mail client right alongside your domain mail, in one unified view. That means real folders, compose/reply/forward with your own signature and quoting, rich-text replies with attachments, live search, per-account filter rules, and Gmail-style keyboard shortcuts (j/k, e, #). Composing a brand-new message from a connected account is the one thing still plain text for now. Everything else, including replying with a full interactive email, works the same as your domain mailbox.

Learn about native inbox rendering & IMAP sync
How does a recipient know an email really came from me?

Turn on an opt-in sender profile — name, avatar, bio and a link, behind a handle at your own mailinapp.com/p/<handle> page — and a verified card appears next to your email inside a recipient's connected inbox. It's built only from a cryptographically signed manifest embedded in the mail we send for you, never from anything a message merely claims about itself, so it can't be spoofed by a look-alike, and it's off by default.

Learn about sender profiles
Can I run scored quizzes or scratch-to-reveal promos?

Yes. The Quiz block scores multi-question answers server-side against a pass threshold you set and shows a results message; the Scratch-off block reveals a prize on a tap, built on the same reliable CSS technique as the accordion. Both work the same way as every other block — a real interactive version where supported, and a sensible fallback everywhere else.

Can more than one person work on the same account?

Yes — invite teammates from Settings → Team as an Editor (full access, except billing and credential rotation) or a Viewer (read-only). They get a branded invite email plus a banner on their own dashboard if they sign in before checking it. No separate accounts to manage per project, and solo accounts work exactly as before if you never invite anyone. If two people have the same project open at once, the second save gets a clear "changed elsewhere" warning instead of silently overwriting the first person's work.

Can I belong to more than one company on MailInApp?

Yes — your own account and every team you've accepted an invite into all count as separate companies, each with its own plan, contacts, and projects. A switcher in the dashboard sidebar lists all of them once you belong to more than one, so you can move between a client's account and your own (or between several clients') from a single login, with no separate sign-ins.

Can I keep every email on-brand without recoloring each block?

Yes — the studio's Theme panel sets your brand color, accent, text and background colors, font stack and button shape once, for the whole project. Buttons, social icons, form and quiz submit buttons, spin-to-win and event blocks all reference those settings. Change one, and every block using it restyles everywhere at once: the canvas, the live view, and the mailed email.

Can I reuse a block I've built across different projects?

Yes — select anything on the canvas, then "Save as component" from the Inspector. It's saved to your account, not just that project, and shows up under My components in every project's block panel from then on, ready to drag in as an independent copy you can restyle freely.

Will MailInApp help me write the copy?

If you want it to. Click the ✨ Suggest button next to the subject line and get a few AI-drafted options grounded in your project's purpose and existing copy — nothing is ever written in for you automatically, you pick what to use. For building or editing the whole email, chat with Mia AI in the studio toolbar instead — see the next question.

Can AI build or edit a whole email for me, not just draft copy?

Yes — the Mia AI panel in the studio is a real conversation: describe what you want and it edits your block tree one change at a time (add a poll, swap a countdown for a product block, restyle the theme), so a follow-up request only touches what you asked for instead of regenerating the whole email. It has access to every block type the studio ships, including layout, charts and event blocks, not a limited subset. Every change lands through the normal undo/redo, so you can always step back. Available from the Starter plan up, and the same tool access is reachable from Claude Desktop, Claude Code, or any other MCP client using your Send API key.

Read about Mia AI
Can I export or delete my account data myself?

Yes — Settings → Privacy & data lets you download a complete JSON export of everything your account owns, or permanently delete the account (projects, contacts, responses, credentials, all of it) through an emailed confirmation link, with no support ticket required. Recipients get a self-service path too: every unsubscribe page includes a form to request a correction or deletion of their own data, which opens a ticket straight to you.

Read about privacy & data controls

Your next campaign could be answered in the inbox.

Build your first interactive email in minutes. Send it to yourself and click around.