Site builders and CMS
Add a custom form to Wix
Short answer
Add an Embed HTML element with a form that posts to your WebForms endpoint using fetch, so the thank-you message shows inside the embed. Or keep Wix Forms and add an automation with a Send HTTP request action that posts each submission to your endpoint. Both store and spam filter every submission and email it to you.
Wix Forms keeps submissions inside Wix. To send them anywhere else, or to keep an archive that is not tied to your Wix plan, you can either embed your own HTML form or forward each Wix Forms submission to WebForms with an automation. The embed is the simpler route for a new contact form; the automation keeps a form you have already built.
Setup
Create a form and copy its endpoint
Sign up, create a form, and copy the endpoint URL. Submissions are emailed to your verified address by default.
Add an Embed HTML element
In the Wix Editor, click
Add Elements, thenEmbed Code, thenEmbed HTMLunder Popular Embeds. In Wix Studio it isAdd Elements, thenEmbed & Social, thenEmbed Code.Paste the form
Click
Enter Code, paste the form below with your endpoint, and clickApply. Resize the element so the whole form fits.Publish and send a test
Publish the site and submit the form. The thank-you message appears inside the form, and the submission arrives in your inbox and the dashboard.
Wix examples
Swap in your own endpoint and these run as-is.
<form id="f" action="https://send.webforms.to/wft_your_key" method="POST">
<input name="name" placeholder="Name" required>
<input name="email" type="email" placeholder="Email" required>
<textarea name="message" placeholder="Message" rows="5" required></textarea>
<input name="_gotcha" tabindex="-1" autocomplete="off" style="position:absolute;left:-9999px" aria-hidden="true">
<button>Send</button>
<p id="out" role="status"></p>
</form>
<script>
document.getElementById("f").addEventListener("submit", async (e) => {
e.preventDefault();
const body = new FormData(e.target);
body.set("_replyto", body.get("email"));
const res = await fetch(e.target.action, { method: "POST", body, headers: { Accept: "application/json" } });
const data = await res.json().catch(() => ({ ok: false }));
document.getElementById("out").textContent = data.ok ? data.message : "Sorry, something went wrong.";
if (data.ok) e.target.reset();
});
</script>
<style>
#f { display: grid; gap: .6rem; font: 16px/1.4 system-ui, sans-serif; }
#f input, #f textarea { padding: .6rem .7rem; border: 1px solid #ccc; border-radius: 8px; font: inherit; }
#f button { padding: .7rem 1.1rem; border: 0; border-radius: 8px; background: #111; color: #fff; font: inherit; cursor: pointer; }
</style>To forward an existing Wix Forms form instead:
Trigger: Wix Forms: Form submitted Action: Send HTTP request Method: POST URL: https://send.webforms.to/wft_your_key Nest request body under data: Off Request body: All automation data, or choose the fields
Embed HTML or an automation?
An Embed HTML form is your own form, styled with your own CSS, posting straight to WebForms. Wix shows it in a sandboxed frame, so a normal submit would load the thank-you page inside that small box. The fetch script above avoids that by showing the message in place.
An automation keeps the Wix Forms form you already have. In your site's dashboard, open Automations, create one from scratch, choose the Wix Forms Form submitted trigger, and add a Send HTTP request action with your endpoint. Turn off nesting the body under data, so each field arrives as its own field.
- Embed HTML: your own design, and WebForms spam filtering on every submission.
- Automation: keeps the native Wix form and its editor; Wix still stores its own copy.
- Developers can also forward submissions from Velo backend code, with
wixForms_onSubmissionCreatedandwix-fetch.
Worth knowing
- A form inside Embed HTML cannot send the whole page somewhere else, because Wix does not let embeds navigate the top window. Show the message in the embed, as the example does, or open your thank-you page in a new tab.
- Embed HTML needs your site on HTTPS, which every published Wix site is.
Wix form FAQ
Yes, through Automations: add a Send HTTP request action to a Wix Forms Form submitted trigger and use your WebForms endpoint as the URL.
Wix runs Embed HTML in a sandboxed frame, so a normal form submit loads the next page inside it. Submit with fetch and show the message in place, as in the example.
Yes. Point the form or automation at WebForms and add a Slack destination; Slack, Discord, Telegram and webhooks are on Pro and Agency.
Related guides
Where Wix submissions can go
The guide above gets the submission to your endpoint. From there it can land anywhere: one destination on Free, several on Pro.
Need the form markup too? The template gallery has complete forms for contact, waitlist, job application and more, and the form generator builds one field by field.
Ready to wire up your Wix form?
Free for 300 submissions a month. Endpoint in under a minute, no card required.
Start free