MuxForms on Wix is typically an Embed HTML element with div + embed.js on Business plans that allow custom code. Velo can POST JSON from backend/http-functions with the ingest secret when the UI is custom.
Docs
Wix limits raw JavaScript on some plans—use the HTML embed widget where available, or Velo backend for custom fields.
| Path | When |
|---|---|
| Embed HTML | Standard MuxForms UI |
| Velo fetch | Custom Wix input elements |
| Allowlist | https://www.yoursite.com |
| Secrets | Velo Secrets only—not client |
<div data-form-id="FORM_UUID"></div> <script src="https://www.muxforms.com/embed.js" defer></script>
// backend/http-functions/submit.jsw
import { fetch } from 'wix-fetch';
import { getSecret } from 'wix-secrets-backend';
export async function post_submit(request) {
const body = await request.body.json();
const secret = await getSecret('MUXFORMS_INGEST_SECRET');
const res = await fetch('https://www.muxforms.com/api/v1/forms/FORM_UUID/submit', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${secret}`,
},
body: JSON.stringify({ email: body.email, message: body.message, _hp: '' }),
});
return { status: res.status };
}Velo when embed is blocked; embed when it is not.
Upgrade to Pro