Waarom zou je Typeform (€25/mnd), Google Forms (beperkt), of een WordPress plugin gebruiken als je formulieren direct in n8n kunt bouwen? Met de Form Trigger en Form node maak je professionele formulieren die meteen een workflow starten — geen externe tools, geen webhooks, geen koppelingen. Eén plek voor het formulier én de automatisering.
Wat je leert in deze gids:
- Form Trigger instellen en je eerste formulier publiceren
- Beschikbare veldtypen: tekst, dropdown, checkbox, datum en meer
- Multi-step formulieren bouwen met logica tussen stappen
- Custom HTML toevoegen voor branding en visuele elementen
- 7 praktische voorbeelden: van contactformulier tot AI-intake
Form Trigger vs. Webhook: Wanneer Welke?
Beide nodes starten een workflow op basis van externe input. Het verschil zit in wie de data invoert:
Form Trigger
Een mens vult data in via een browser.
- n8n genereert automatisch een webpagina
- Bevat ingebouwde validatie
- Ondersteunt multi-step forms
- Geen frontend-code nodig
Webhook
Een systeem stuurt data programmatisch.
- Ontvangt JSON/XML data via HTTP
- Geen visuele interface
- Voor API-to-API communicatie
- Meer flexibiliteit in dataformaat
Kort gezegd: gebruik Form Trigger als mensen data invoeren, en Webhook als systemen data sturen.
Je Eerste Formulier Bouwen
Stap 1: Form Trigger Node Toevoegen
-
1
Maak een nieuw workflow
Klik op het + icoon en zoek "Form Trigger"
-
2
Formulier configureren
Geef het formulier een titel en beschrijving
Form Title: Contactformulier Form Description: Neem contact met ons op. We reageren binnen 24 uur. Form Path: contact-form (wordt: /form/contact-form)
-
3
Velden toevoegen
Voeg de gewenste invoervelden toe (zie veldtypen hieronder)
-
4
Workflow activeren
Klik op "Active" om de Production URL te activeren. Die URL is je formulier.
Test URL vs. Production URL
Twee URLs, twee doelen
Test URL
Actief wanneer je op "Execute Workflow" of "Execute Step" klikt. Data verschijnt direct in de editor. Gebruik dit tijdens het bouwen.
Production URL
Actief wanneer het workflow op "Active" staat. Data wordt verwerkt zonder dat je in de editor kijkt. Dit is de URL die je deelt.
Beschikbare Veldtypen
De Form Trigger ondersteunt diverse invoervelden. Hier een overzicht van de mogelijkheden:
| Veldtype | Gebruik | Opties |
|---|---|---|
| Text | Korte tekst (naam, bedrijf) | Placeholder, required, regex validatie |
| E-mailadres met automatische validatie | Valideert automatisch het @-formaat | |
| Number | Numerieke invoer (budget, aantal) | Min, max waarde |
| Textarea | Langere tekst (bericht, beschrijving) | Aantal rijen instellen |
| Dropdown | Selectie uit vooraf bepaalde opties | Lijst met key-value paren |
| Date | Datumkiezer | Datumformaat instellen |
| Custom HTML | Vrije HTML content (afbeeldingen, tekst, links) | Wordt weergegeven maar niet verstuurd als data |
Multi-Step Formulieren
Met de Form node (niet de Form Trigger, maar de gewone Form node) bouw je multi-step formulieren. Elke stap is een aparte Form node, en daartussen kun je logica plaatsen.
Architectuur
// Multi-step formulier: klant-intake Form Trigger (Stap 1: Persoonlijke Gegevens) Velden: Naam, Email, Telefoon ↓ Form Node (Stap 2: Bedrijfsinformatie) Velden: Bedrijfsnaam, Branche (dropdown), Aantal medewerkers ↓ Code Node (bereken welke stap 3 relevant is) if (branche === 'ecommerce') → toon e-commerce vragen if (branche === 'saas') → toon SaaS vragen ↓ Form Node (Stap 3: Specifieke Vragen — dynamisch!) ↓ Form Completion (Bedanktpagina)
Het krachtige hiervan: tussen elke stap kun je n8n nodes plaatsen. Dat betekent dat je op basis van antwoorden uit stap 1 de vragen in stap 2 kunt aanpassen. Dat kan geen enkel formulier-tool zonder custom code.
Pre-Fill met Query Parameters
Je kunt formuliervelden vooraf invullen via URL-parameters. Handig als je het formulier vanuit een e-mail of CRM opent:
https://n8n.jouwdomein.nl/form/klant-intake?naam=Jan+de+Vries&email=jan@bedrijf.nl // De velden "Naam" en "Email" zijn automatisch ingevuld // Werkt op alle pagina's van een multi-step form
Custom HTML: Branding en Visuele Elementen
Met het Custom HTML veld voeg je eigen styling, afbeeldingen en instructies toe aan je formulier. De HTML wordt weergegeven maar niet meegestuurd als data.
// Voorbeeld: Custom HTML veld bovenaan het formulier
<div style="text-align: center; margin-bottom: 20px;">
<img src="https://jouwbedrijf.nl/logo.png"
alt="Logo" style="max-width: 200px;">
<h2 style="color: #4c1d95; margin-top: 10px;">
Gratis Adviesgesprek Aanvragen
</h2>
<p style="color: #6b7280;">
Vul het formulier in en we nemen binnen 24 uur
contact met je op.
</p>
</div>
Security: HTML Sanitization
n8n sanitized automatisch gevaarlijke HTML-tags. <script>, <style>, <input>, <form> en <button> tags worden verwijderd. Dit voorkomt XSS-aanvallen. Je kunt wel veilige tags gebruiken: <div>, <p>, <img>, <a>, <h1-h6>, <ul>, <ol>, <li>.
7 Praktische Voorbeelden
1. Contactformulier met Email Bevestiging
Het meest basale maar veelgebruikte patroon: formulier → bevestigingsmail → team notificatie.
Form Trigger {
Title: "Neem contact op"
Fields: Naam (text), Email (email), Onderwerp (dropdown),
Bericht (textarea)
}
→ Email Node (bevestiging naar invuller)
"Bedankt {{naam}}, we hebben je bericht ontvangen!"
→ Slack Node (#inbox)
"Nieuw contactformulier van {{naam}} over {{onderwerp}}"
→ Google Sheets Append (log alle inzendingen)
2. Offerte-Aanvraag met Automatische Prijsberekening
Form Trigger (Stap 1: Wat heb je nodig?)
Fields: Type dienst (dropdown), Aantal uren (number), Deadline (date)
↓
Code Node {
const prijzen = {
'website': 95,
'webshop': 110,
'automatisering': 125
};
const uurprijs = prijzen[$json.type_dienst];
const totaal = uurprijs * $json.aantal_uren;
return { uurprijs, totaal, btw: totaal * 0.21 };
}
↓
Form Node (Stap 2: Prijsindicatie)
Custom HTML: "Op basis van je input schatten we de kosten
op €{{totaal}} excl. BTW ({{uren}} uur × €{{uurprijs}}/uur).
Klopt dit? Vul hieronder je gegevens in voor een definitieve offerte."
Fields: Naam, Email, Bedrijfsnaam, Opmerkingen
↓
Email Node (verstuur offerte-PDF)
Google Sheets Append (CRM)
3. Bug Report Formulier voor Ontwikkelteams
Form Trigger {
Title: "Bug Melden"
Fields:
- Titel (text, required)
- Ernst (dropdown: Kritiek/Hoog/Medium/Laag)
- Browser (dropdown: Chrome/Firefox/Safari/Edge)
- Stappen om te reproduceren (textarea)
- Verwacht gedrag (textarea)
- Werkelijk gedrag (textarea)
}
→ Code Node (genereer bug ID: BUG-2026-0001)
→ IF Node (ernst === "Kritiek"?)
├── Ja: Slack #urgent-bugs + PagerDuty alert
└── Nee: Slack #bugs
→ Linear/Jira Node (maak ticket aan)
→ Email Node (bevestiging + ticket nummer naar melder)
4. AI-Gestuurde Intake voor Consultancy
Het formulier verzamelt informatie, AI analyseert het, en de consultant ontvangt een kant-en-klare samenvatting.
Form Trigger (Stap 1)
"Vertel over je uitdaging"
Fields: Bedrijfsnaam, Branche, Grootste uitdaging (textarea),
Budget range (dropdown), Gewenste startdatum
↓
OpenAI Node {
"Analyseer deze klant-intake en maak een samenvatting:
1. Kernprobleem in 1 zin
2. Geschatte complexiteit (laag/midden/hoog)
3. Aanbevolen aanpak (2-3 bullet points)
4. Risico's en aandachtspunten
Intake data: {{$json}}"
}
↓
Form Node (Stap 2 - bevestiging)
Custom HTML: "Bedankt! We hebben je aanvraag ontvangen.
Ons team neemt binnen 2 werkdagen contact op."
↓
Slack Node (#sales)
"Nieuwe intake: {{bedrijfsnaam}}
AI Analyse: {{samenvatting}}
Budget: {{budget_range}}
[Link naar volledig profiel]"
5. Evenement Registratie met Capaciteitscheck
Form Trigger {
Fields: Naam, Email, Dieetwensen (dropdown), +1 meenemen? (dropdown)
}
→ Google Sheets Read (huidige registraties tellen)
→ IF Node (plaatsen beschikbaar?)
├── Ja:
│ → Google Sheets Append (registratie opslaan)
│ → Email (bevestiging + QR code)
│ → Form Completion: "Je bent aangemeld!"
└── Nee:
→ Google Sheets Append (wachtlijst)
→ Email ("Helaas vol, je staat op de wachtlijst")
→ Form Completion: "Wachtlijst bevestiging"
6. Medewerker Feedback (Anoniem)
Form Trigger {
Title: "Anonieme Feedback"
Description: "Je antwoorden worden anoniem verwerkt."
Fields:
- Afdeling (dropdown - enige identificatie)
- Hoe tevreden ben je? (dropdown: 1-10)
- Wat gaat goed? (textarea)
- Wat kan beter? (textarea)
- Open suggesties (textarea)
}
→ Code Node (verwijder eventuele metadata die
naar individu kan herleiden)
→ Google Sheets Append (alleen afdeling + antwoorden)
→ IF Node (tevredenheid < 5?)
→ Slack DM naar HR manager ("Let op: lage score")
Geen naam of email veld = echt anoniem. De Form Trigger logt standaard geen IP-adressen.
7. Klanttevredenheid Survey na Afronding Project
// Stuur link per email na project-afronding
// Pre-fill klantnaam en project via query params:
https://n8n.jouwdomein.nl/form/nps?klant=Bedrijf+B.V.&project=Website+Redesign
Form Trigger {
Fields:
- NPS Score (dropdown: 0-10)
- Wat vond je het beste? (textarea)
- Wat kan beter? (textarea)
- Mogen we je quote gebruiken? (dropdown: Ja/Nee)
}
→ Code Node (categoriseer: Promoter/Passive/Detractor)
→ Google Sheets Append
→ IF Node (NPS >= 9 EN quote = Ja?)
→ Notion Append (testimonials database)
Formulier Delen en Inbedden
Je formulier is beschikbaar op de Production URL zodra het workflow actief is. Er zijn drie manieren om het te delen:
Directe Link
Deel de URL via e-mail, chat of QR-code. Het formulier opent als volledige webpagina.
iFrame Embed
Embed het formulier op je website met een iframe tag. Past zich aan aan de breedte van de container.
<iframe src="URL" width="100%" height="600"></iframe>
Custom Frontend
Bouw je eigen formulier in React/HTML en POST de data naar het n8n endpoint. Volledige controle over styling.
Tips voor Betere Formulieren
Wel doen
- Houd het kort — elke extra vraag verlaagt conversie met 10%
- Gebruik dropdowns in plaats van vrije tekstvelden waar mogelijk
- Zet het belangrijkste veld bovenaan
- Geef duidelijke feedback na verzending
- Pre-fill velden als je de data al hebt
Niet doen
- Vraag niet om informatie die je niet nodig hebt
- Maak niet elk veld verplicht
- Gebruik geen jargon in labels of beschrijvingen
- Vergeet niet om het formulier op mobiel te testen
- Deel niet de Test URL (die werkt alleen bij handmatige executie)
Conclusie: Formulieren als Workflow Startpunt
De n8n Form Trigger is meer dan een formulier-tool — het is een interface tussen mensen en automatisering. Waar je voorheen aparte tools nodig had voor het formulier (Typeform), de opslag (Google Sheets), de notificatie (Slack) en de verwerking (Zapier), doe je het nu allemaal in één workflow.
Begin met het Contactformulier
Voorbeeld 1 (contactformulier) bouw je in 10 minuten. Eenmaal werkend kun je uitbreiden met AI-analyse, multi-step logic en custom branding.