n8nen.nl logo n8nen.nl

N8N Form Trigger: Formulieren Bouwen en Automatiseren Zonder Code

2026-03-10 n8nen
N8N Form Trigger: Formulieren Bouwen en Automatiseren Zonder Code
Contactformulier Naam E-mail Bericht Verstuur n8n 📧 Email bevestiging 📊 Google Sheets opslaan 💬 Slack notificatie 🤖 AI analyse & reactie Form Trigger: Formulieren Bouwen in N8N Multi-step • Validatie • AI-verwerking • Zonder externe tools

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. 1
    Maak een nieuw workflow

    Klik op het + icoon en zoek "Form Trigger"

  2. 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. 3
    Velden toevoegen

    Voeg de gewenste invoervelden toe (zie veldtypen hieronder)

  4. 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
Email 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.

Gerelateerde Artikelen

#n8n #form trigger #formulieren #no-code #automatisering #intake #workflow #multi-step #survey