integrations · site builder

Webflow form submissions, without the plan-tied limits.

Webflow's native forms work well, but submissions are metered by your site plan. The monthly allowance depends on which tier the site is on, at the time of writing. The workaround is one Embed element: paste your own form HTML posting to a mailcontact endpoint, and submissions skip Webflow's form handling entirely, landing in a per-project inbox with a ping in Discord, Slack, email, or a webhook.

You keep designing in Webflow. The embed is plain HTML, so you can reuse Webflow's own w-input and w-button classes and the form inherits the styling you already built. Visitors won't see the difference.

And because every mailcontact inbox also comes with a real email address ([email protected]), messages from your Webflow site and from your other projects end up in one place instead of a separate Forms panel per site.

recommended setup

Use the MailContact script with your own design.

Add this HTML to your site, or use the form builder. Replace the form link with yours. The hosted script injects the hidden check, handles sending and automatic verification, and preserves the draft on errors. You control the HTML and CSS. Free forms display a visible “Processed by mailcontact.app” link; Pro and Plus do not. Feedback follows the browser’s language; set data-mailcontact-language="fr" on the form to force French.

contact.html
<form action="https://mailcontact.app/api/forms/your-form-id" method="POST" data-mailcontact-form>
  <fieldset>
    <legend>Contact us</legend>
    <label>
      Name (optional)
      <input name="name" type="text" autocomplete="name" maxlength="200" />
    </label>
    <label>
      Email
      <input name="email" type="email" autocomplete="email" maxlength="320" required />
    </label>
    <label>
      Message
      <textarea name="message" rows="5" maxlength="5000" required></textarea>
    </label>
    <noscript>
    <div aria-hidden="true" style="position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;">
      <label>Website
        <input name="company_website" type="text" tabindex="-1" autocomplete="off" />
      </label>
    </div>
    </noscript>
    <button type="submit">Send message</button>
  </fieldset>
  <p data-contact-status role="status" aria-live="polite" aria-atomic="true"></p>
</form>
<script defer src="https://mailcontact.app/forms/v1.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

For a component with its own submit handler, load the same script and use MailContact.prepare(form) and MailContact.send() instead of the automatic marker. See the custom interface reference for loading, feedback and Free attribution.

the snippet

Alternative: a direct integration for Webflow.

This example posts directly to the API. Keep the required company_website field present and empty. Native posts open JSON on success or a verification page when needed. Custom scripts without verification support send suspicious messages to Spam for review; strong spam is also held there without notifications or quota usage. A success response confirms reception, including review, or a silent discard of a filled check. See spam protection for the full behavior.

Embed element (Webflow Designer → Add panel)
<form action="https://mailcontact.app/api/forms/your-form-id" method="POST">
  <input class="w-input" type="text" name="name" placeholder="Your name" />
  <input class="w-input" type="email" name="email" placeholder="[email protected]" required />
  <textarea class="w-input" name="message" placeholder="How can we help?" required></textarea>
  <button class="w-button" type="submit">Send</button>
  <input name="company_website" type="text" tabindex="-1" autocomplete="off"
    style="position:absolute;left:-10000px" aria-hidden="true" />
</form>

how it works

Three steps, start to finish.

01

Create an inbox

One inbox per site. Name it after your project and you immediately get a form endpoint and a project email address. No DNS, no head code.

02

Paste an Embed element

In the Designer, drag an Embed element where the form should go, paste the snippet, and publish. The w-input and w-button classes pick up your site's form styling.

03

Get notified

Add a Discord, Slack, email, or webhook channel. Delivered messages ping you, no need to open the site's dashboard to check.

why mailcontact

Built to pair well with Webflow.

Doesn't count against your plan

Webflow meters native form submissions by site plan at the time of writing. A form in an Embed element posts straight to mailcontact, so Webflow never counts (or caps) it.

Styled like the rest of your site

The embed is your HTML. Give inputs Webflow's w-input class and the button w-button to inherit the form styling you already designed, or target your own classes from custom CSS.

One inbox across client sites

Running several Webflow sites, or Webflow plus other stacks? Each project gets its own inbox and email address, unified in one place instead of a Forms panel per site.

faq

Webflow + mailcontact, answered

How many form submissions does Webflow allow?

Native Webflow forms come with a monthly submission allowance tied to the site plan at the time of writing (check Webflow's current pricing for exact numbers). A form embedded as your own HTML posting to mailcontact bypasses Webflow's form handling, so those limits don't apply to it.

Do I need a paid Webflow plan to use an Embed element?

Webflow gates custom code (including the Embed element) behind paid plans at the time of writing, so check your plan first. If your site plan already allows embeds, the form costs nothing extra and doesn't consume your native submission quota.

Will the embedded form match my Webflow design?

Yes, if you tell it to. Add Webflow's w-input class to inputs and w-button to the submit button to inherit the same styling as native Webflow forms, or use your own classes and style them with custom CSS.

How do I show a success message after someone submits?

The endpoint responds with JSON on success and does not redirect. Use the hosted MailContact script in your embed for submission, verification and inline feedback. CORS is open, which means this works from webflow.io staging domains and custom domains alike. A configurable redirect for native form posts is not currently available.

related

Also works with

One inbox for every Webflow project you ship.

Forms and a real email address, together, with notifications where you live. Start with a free account.

Create your free form

No credit card needed. Free includes one project and 50 form messages per month.