Build your first form
From signup to a public form posting to a webhook — about five minutes if you already have an n8n instance. Less if you don't need the webhook yet.
1. Sign up
Go to app.formnode.io, enter your email, click the magic link, and you'll land in your new workspace on the Free plan. No credit card.
A workspace is the top-level container for everything you build. Inside it live organizations (your tenants — typically your MSP customers), forms, and submissions.
2. Create your first organization
Open Organizations in the sidebar and click New organization. Give it a name (your customer's name) and a slug. The slug becomes part of the customer portal URL, so keep it short.
3. Create a form
Open Forms in the sidebar and click New form. Pick the organization you just created. You land on the builder with a blank canvas and the field palette on the left.
Click any field type or drag it onto the canvas. Start simple — a Text Input, an Email, and a Multi-Line Input is enough for a first form. Click a field to edit its label, name, description, and validation in the settings panel.
4. Wire a submission webhook
Click Webhook in the floating pill bar above the canvas. Paste your n8n webhook URL (or any HTTPS endpoint that accepts JSON) and toggle it on.
Now every successful submission will POST a JSON payload to your URL with the field values, the organization ID, and the submission ID. See the API reference for the exact payload shape.
5. Publish and share
Click Sharein the top toolbar. You'll see three options:
- Direct link — a public URL anyone can fill out
- Customer portal— surfaces this form inside the organization's customer portal (Pro and above; full portal branding is Business)
- Embed — drop a script tag on your site to embed the form inline, as a popup, or as a slide-in
6. Test the round-trip
Open the direct link, fill out a submission, hit submit. Check your n8n execution log — you should see the webhook fire with the payload. If it didn't fire, open Submissions on the form to see the delivery attempt and any retry status.
That's it for the basics. From here, the next two pages are where FormNode actually starts pulling its weight: