W-038 · WIDGET

Contact Form

A contact-form widget is a real, working HTML form you can embed on a portfolio, link-in-bio, or landing page so visitors can reach you without leaving the page. WidgetCraft's Contact Form takes a heading, a button label, and a single `action` and renders one of three layouts — a full contact form (name + email + message), a booking request (adds a preferred date and time), or a compact inline capture (email + send) — styled entirely from your theme so it reads correctly on a cream page or a colored panel.

NotionObsidianAny website
API keyDelivery needs a form endpoint or mailto: address in `action`
https://mizu.so/w/contact-form?theme=light&accent=%23F06449&mode=contact&heading=Get+in+touch&buttonLabel=Send
Customize in Builder

Contact Form is an honest v0: it has no backend of ours, and what happens on submit is determined entirely by the `action` you set. If `action` is an HTTPS URL it renders a native POST form pointed at that endpoint — paste your Formspree, Getform, Basin, or Google-Apps-Script URL and submissions go straight to your inbox or sheet. If `action` is a `mailto:` address, the form builds a pre-filled mailto link from the fields on submit and opens the visitor's email client. If you leave `action` empty, the form intercepts the submit, shows your `successMessage` inline, and never silently drops the input. Every surface stays transparent: the input borders take your border or muted color (or the text color at low opacity), the field text uses your text color, and the submit button fills with your accent with an automatically contrasting label — so the same form drops cleanly onto a forest-green zone or a paper background. The booking layout adds native date and time pickers; the compact layout collapses to a single inline row for footers and call-to-action bands. You can also narrow the fields shown with the `fields` knob (e.g. `name,email`) and override every placeholder.

FAQ

Questions, answered.

Where do submissions actually go?

Wherever your `action` points. WidgetCraft runs no server for this — set `action` to a form endpoint (Formspree, Getform, Basin, a Google Apps Script web app) and the widget POSTs to it natively, exactly like any HTML form. There's no per-submission fee or signup on our side.

What if I don't have a form backend?

Two options. Set `action` to a `mailto:` address (e.g. mailto:you@studio.com) and the form opens the visitor's email client pre-filled with their entries on submit. Or leave `action` empty: the form shows your success message inline so it still feels responsive — useful for demos, but it won't deliver the message anywhere, so use a mailto or a form endpoint for real contact.

What are the three layouts?

Contact (name + email + message + send) is the default. Booking adds a preferred-date and preferred-time picker for appointment requests. Compact is a single inline row — email + send — for a footer or a call-to-action band. Pick one in the inspector; each is sized so its full field set fits the cell.

Can I hide some fields?

Yes — set `fields` to a comma list of the fields you want, e.g. `name,email` to drop the message box, or `email` for a bare capture. The submit button and the layout chrome stay; only the listed inputs render. An empty or unrecognized list falls back to the layout's full field set.

Will it look right on a colored background?

Yes. The form never paints its own background — it stays transparent. Input borders use your border color (or the text color at low opacity), field text uses your text color, and the send button fills with your accent and picks a contrasting label automatically. Set the text color to cream and the whole form reads on a dark forest panel; leave it dark and it reads on cream.

Is this widget free?

Yes. WidgetCraft widgets are free to embed and customize. No signup required, no per-render fees. Any cost would come from a third-party form backend you choose to connect via `action` — and the mailto and inline paths are entirely free.

Related widgets

W-009 · creator
GitHub
Four variants in one widget — single repo (detailed or compact), or trending repos by stars (top-N list or single hero). Time window + language filter for the trending variants.
W-012 · creator
YouTube Subs
Official subscriber count, total views, and video count.
W-024 · creator
Bio
Photo + name + tagline + optional role/location. The hero block of any showcase, link-tree, or portfolio Mizu.
Customize colors, fonts, and layout in the builder — preview live, copy the embed URL, paste anywhere.
Open in BuilderView all widgets