View .md

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

Wix limits raw JavaScript on some plans—use the HTML embed widget where available, or Velo backend for custom fields.

Wix paths

PathWhen
Embed HTMLStandard MuxForms UI
Velo fetchCustom Wix input elements
Allowlisthttps://www.yoursite.com
SecretsVelo Secrets only—not client

Embed HTML widget

<div data-form-id="FORM_UUID"></div>
<script src="https://www.muxforms.com/embed.js" defer></script>

Velo backend example (custom UI)

// 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 };
}

Common questions

Free plan embed?
HTML embed availability depends on Wix plan; check Embed → Custom code.
Wix Forms app?
MuxForms is for teams also running non-Wix stacks.
Velo CORS?
Server-side Velo POST has no browser CORS; browser embed needs allowlist.
Multilingual Wix?
One embed per language page or one form with locale hidden field.

Wix sites in a multi-host portfolio.

Velo when embed is blocked; embed when it is not.

Upgrade to Pro