Skip to main content
New:Build with AI agents

Wix contact forms
beyond basic inbox delivery.

Use an HTML Embed or Velo fetch path to send Wix submissions to Form Plume. Get email, a dashboard, spam filtering, uploads, integrations, and webhooks without building a database collection or backend.

Free foreverNo credit cardWix endpoint ready in minutes
wix-html-embed.html
<form
  action="PASTE_YOUR_FORM_PLUME_ENDPOINT_HERE"
  method="POST"
  target="_top"
>
  <label>
    Name
    <input name="name" autocomplete="name" required>
  </label>
  <label>
    Email
    <input name="email" type="email" autocomplete="email" required>
  </label>
  <label>
    Message
    <textarea name="message" required></textarea>
  </label>
  <button type="submit">Send</button>
</form>

The full guide

A hosted backend for Wix forms.

Choose HTML Embed for the cleanest no-code setup, use Velo only when native Wix inputs must stay, and test the published page before launch.

  1. 1
    Create your Form Plume accountStart free and give your Wix form a hosted endpoint for email, submissions, spam filtering, uploads, integrations, and webhooks.Start free
  2. 2
    Create the form and copy the endpointCopy the endpoint URL from Form Plume. It looks like https://api.formplume.com/f/your-slug
  3. 3
    Connect it inside WixUse an HTML Embed for a plain form, or a Velo fetch handler only when the existing Wix inputs must remain on the page. Publish the Wix site and test the live page because editor previews can behave differently for embeds and Velo.

You can use this AI prompt to hand the platform-specific wiring to an assistant without accidentally creating a backend.

Pick HTML Embed or Velo

Wix gives you a no-code editor, but the right Form Plume setup depends on how much control you need.

Use an HTML Embed when you can place a complete form inside the page. It is the simplest path: the embed contains a normal <form>, the action points at Form Plume, and Wix does not need a database collection or automation to deliver the message.

Use Velo only when the visible Wix inputs must stay as native page elements or when the site already depends on Velo code. In that case, submit the collected values to Form Plume with fetch.

Use an HTML Embed for the simplest setup

Add an HTML Embed element and paste a complete form.

<form
  action="PASTE_YOUR_FORM_PLUME_ENDPOINT_HERE"
  method="POST"
  target="_top"
>
  <label>
    Name
    <input name="name" autocomplete="name" required>
  </label>
 
  <label>
    Email
    <input name="email" type="email" autocomplete="email" required>
  </label>
 
  <label>
    Message
    <textarea name="message" rows="5" required></textarea>
  </label>
 
  <button type="submit">Send message</button>
</form>

The target="_top" attribute helps the success or redirect page escape the embed frame when needed. If you use a hidden _redirect, point it at a published Wix page.

Use Velo only when native Wix inputs must stay

If the form is already built from Wix input elements, a Velo handler can collect values and post them to Form Plume.

import { fetch } from "wix-fetch";
 
export async function submitButton_click() {
  const body = new URLSearchParams({
    name: $w("#nameInput").value,
    email: $w("#emailInput").value,
    message: $w("#messageInput").value,
    source: "wix-contact-page",
  });
 
  const response = await fetch("PASTE_YOUR_FORM_PLUME_ENDPOINT_HERE", {
    method: "post",
    headers: { "Content-Type": "application/x-www-form-urlencoded" },
    body: body.toString(),
  });
 
  if (response.ok) {
    $w("#statusText").text = "Thanks, we got your message.";
  }
}

This keeps the backend out of Wix. Form Plume still owns email, the submissions dashboard, spam filtering, integrations, and webhooks.

Prefer the HTML Embed path unless you need Velo for existing UI. It is easier for non-developers to inspect and replace a form action than to maintain page code.

Watch the no-code constraints

Wix editor previews and published pages can behave differently for embeds, scripts, and external requests. Test on the live published URL before declaring the form done.

If an embed cannot match the visual design, keep the embed focused on the form fields and style it with CSS inside the embed. If a Velo setup gets hard to maintain, simplify back to a plain embed.

Add uploads when the embed controls the form

For file uploads, the HTML Embed path is the most direct option.

<form
  action="PASTE_YOUR_FORM_PLUME_ENDPOINT_HERE"
  method="POST"
  enctype="multipart/form-data"
  target="_top"
>
  <input type="file" name="attachment" accept=".pdf,.png,.jpg">
  <button type="submit">Send file</button>
</form>

Form Plume stores uploads outside email delivery so a large attachment does not break the notification.

Verify the final handoff

Submit from the published Wix page. Check the Form Plume dashboard entry, email notification, spam status, redirect behavior, and any integration that should receive the accepted submission.

Primary sources

FAQ

Wix form questions
for no-code builds.

Yes. Use an HTML Embed with a plain form, or use Velo fetch when you need to keep existing Wix input elements.

One line. Zero backend.

The form backend you don’t have to build.

Free foreverNo credit cardSet up in under a minute