WhatsApp is het meest gebruikte communicatieplatform in Nederland. Meer dan 15 miljoen Nederlanders gebruiken de app dagelijks. Voor bedrijven biedt WhatsApp Business een officiele API waarmee je berichten kunt automatiseren, notificaties kunt sturen en klantvragen kunt beantwoorden via n8n. In deze handleiding bouw je drie praktische workflows: een bevestigingssysteem, een klantenservice-triage en een AI-assistent.
Wat heb je nodig?
WhatsApp Business API-toegang (via Meta of een BSP zoals MessageBird, Twilio of 360dialog), een n8n-installatie (cloud of zelf-gehost), en een telefoonnummer dat nog niet gekoppeld is aan WhatsApp. Budget: WhatsApp brengt kosten per gesprek in rekening (zie de sectie kosten).
WhatsApp Business API: de drie smaken
Voordat je begint: er zijn drie manieren om WhatsApp zakelijk te gebruiken. Kies de juiste op basis van je volume en technische mogelijkheden.
1. WhatsApp Business App (gratis, handmatig)
De gratis app voor smartphones. Maximaal 1 apparaat tegelijk (of 4 met multi-device). Geen API-koppeling mogelijk, geen automatisering via n8n. Geschikt voor bedrijven die handmatig reageren op maximaal 50 berichten per dag.
2. WhatsApp Business Platform (API via Meta)
De officiele Meta API. Je vraagt toegang aan via developers.facebook.com en beheert de integratie zelf. Lagere kosten per gesprek maar vereist technische setup. Aanbevolen voor bedrijven met meer dan 500 berichten per maand.
3. Business Solution Provider (BSP)
Providers zoals 360dialog, MessageBird, Twilio of WATI bieden een beheerdienst bovenop de Meta API. Eenvoudiger om mee te starten, maar je betaalt een marge bovenop de Meta-kosten. Aanbevolen voor bedrijven die snel willen starten zonder technische configuratie.
Aanbeveling voor deze handleiding
Gebruik 360dialog of MessageBird als BSP: beide hebben een native n8n-node en een gratis testperiode. De workflows in deze handleiding zijn gebouwd met de 360dialog-integratie maar werken met kleine aanpassingen ook bij andere BSPs.
Kosten WhatsApp Business API
WhatsApp rekent per 'gesprek', niet per bericht. Een gesprek is een 24-uurs venster dat opent zodra je een bericht stuurt of ontvangt van een klant. Er zijn twee typen.
- Service-gesprekken (klant begint): 0,04 tot 0,08 euro per gesprek (afhankelijk van land)
- Marketing-gesprekken (jij begint, proactief): 0,09 tot 0,16 euro per gesprek
- Utility-gesprekken (bestellingsbevestigingen, afspraakherinneringen): 0,02 tot 0,05 euro
- Authenticatie-gesprekken (OTP-codes): 0,01 tot 0,03 euro
De eerste 1.000 service-gesprekken per maand zijn gratis. Voor de meeste MKB-bedrijven zijn de maandelijkse kosten dus laag: een bedrijf met 500 klantgesprekken per maand betaalt circa 20 tot 40 euro.
Stap 1: WhatsApp Business API instellen
Via Meta direct (gratis)
Ga naar developers.facebook.com en maak een Meta Developer App aan. Voeg het WhatsApp-product toe, verifieer je zakelijke telefoonnummer en genereer een permanent access token. Bewaar dit token: je hebt het nodig in n8n.
# Meta WhatsApp API: test-bericht versturen (curl)
curl -X POST \
'https://graph.facebook.com/v19.0/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"to": "31612345678",
"type": "text",
"text": {
"body": "Test bericht vanuit Meta API"
}
}'
# Vervang FROM_PHONE_NUMBER_ID en YOUR_ACCESS_TOKEN met jouw waarden.
# Het telefoonnummer moet in internationaal formaat: 316xxxxxxxx (zonder +)
Via 360dialog (BSP, aanbevolen voor beginners)
Maak een account aan op hub.360dialog.com. Verbind je Meta Business Manager, activeer je WhatsApp-nummer en genereer een 360dialog API-sleutel. In n8n voeg je een nieuwe credential toe van het type '360dialog' en plak je de API-sleutel. De 360dialog-node in n8n is daarna direct beschikbaar.
Stap 2: Webhook instellen voor inkomende berichten
Om inkomende WhatsApp-berichten te ontvangen in n8n, stel je een webhook in. Maak in n8n een nieuwe workflow aan met als trigger de 'WhatsApp Trigger' node (bij gebruik van 360dialog) of de 'Webhook' node (bij Meta direct).
# Webhook-URL instellen bij Meta (via Graph API)
# 1. Ga naar je Meta Developer App
# 2. WhatsApp -> Configuration -> Webhook
# 3. Vul in:
# Callback URL: https://jouw-n8n.nl/webhook/whatsapp-inkomend
# Verify Token: een zelf-gekozen geheime string
# 4. Subscribe op: messages, message_deliveries, message_reads
# In n8n: gebruik de 'Webhook' node (GET-verificatie + POST-ontvangst)
# De GET-request van Meta verifieert de webhook met hub.verify_token
// Voorbeeld inkomend bericht van Meta (vereenvoudigd):
{
"object": "whatsapp_business_account",
"entry": [{
"changes": [{
"value": {
"messages": [{
"from": "31612345678",
"id": "wamid.xxx",
"timestamp": "1721642400",
"text": { "body": "Hallo, wanneer is mijn bestelling er?" },
"type": "text"
}]
}
}]
}]
}
Workflow 1: Bestelbevestiging automatisch sturen
De meest directe toepassing: stuur een WhatsApp-bevestiging zodra een klant een bestelling plaatst in je webshop. Trigger: WooCommerce of Shopify webhook bij nieuwe bestelling. Actie: WhatsApp-bericht met bestelnummer en verwachte leverdatum.
// n8n workflow: WooCommerce -> WhatsApp bevestiging
Node 1: WooCommerce Trigger
Event: New Order Created
Credential: jouw WooCommerce API
Node 2: Set node -- data opmaken
telefoon: {{ $json.billing.phone.replace(/[^0-9]/g, '') }}
naam: {{ $json.billing.first_name }}
bestelnr: {{ $json.number }}
bedrag: {{ $json.total }}
datum: {{ $json.date_created.split('T')[0] }}
Node 3: HTTP Request (Meta API)
Method: POST
URL: https://graph.facebook.com/v19.0/PHONE_ID/messages
Auth: Bearer TOKEN
Body:
{
"messaging_product": "whatsapp",
"to": "{{ $('Set node').item.json.telefoon }}",
"type": "template",
"template": {
"name": "order_bevestiging",
"language": { "code": "nl" },
"components": [{
"type": "body",
"parameters": [
{ "type": "text", "text": "{{ $('Set node').item.json.naam }}" },
{ "type": "text", "text": "{{ $('Set node').item.json.bestelnr }}" }
]
}]
}
}
Belangrijk: WhatsApp message templates
Proactieve berichten (jij begint het gesprek) moeten gebruik maken van goedgekeurde message templates. Dien je template in via het Meta Business Manager-portaal. Goedkeuring duurt doorgaans 1 tot 3 werkdagen. Vrije tekst is alleen mogelijk als reactie op een bericht van de klant (binnen 24 uur).
Workflow 2: Klantenservice-triage met AI
Inkomende WhatsApp-berichten worden gecategoriseerd door een AI-model. Eenvoudige vragen worden direct beantwoord; complexe vragen worden doorgestuurd naar een medewerker via Slack of e-mail.
// n8n workflow: WhatsApp inkomend -> AI triage -> antwoord of escalatie
Node 1: Webhook Trigger (inkomend WhatsApp-bericht van Meta)
Parse: $json.entry[0].changes[0].value.messages[0]
Sla op: from (telefoonnummer), text.body (berichttekst)
Node 2: OpenAI node (categoriseren + antwoorden)
Model: gpt-4o-mini
System: Je bent een klantenservice-assistent van [Bedrijfsnaam].
Categoriseer het inkomende bericht in een van deze categorieen:
BESTELLING (vragen over bestellingen), RETOUR (retourverzoeken),
PRODUCT (productvragen), OVERIG (alles wat niet past).
Geef ook een kort antwoord als de vraag eenvoudig is,
of geef 'ESCALEER' als je het antwoord niet zeker weet.
Formaat: CATEGORIE|ANTWOORD of CATEGORIE|ESCALEER
User: {{ $json.entry[0].changes[0].value.messages[0].text.body }}
Node 3: IF node -- check of AI kan antwoorden
Conditie: $json.choices[0].message.content bevat 'ESCALEER'
True: Node 4a (escaleer naar Slack)
False: Node 4b (stuur AI-antwoord via WhatsApp)
Node 4a: Slack node
Kanaal: #klantenservice
Bericht: Nieuwe WhatsApp-vraag die aandacht nodig heeft:
Van: {{ $('Webhook').item.json.entry[0]...from }}
Vraag: {{ $('Webhook').item.json.entry[0]...text.body }}
Node 4b: HTTP Request (Meta API -- antwoord sturen)
Type: text, vrije tekst (binnen 24u na klantbericht toegestaan)
Body: het AI-antwoord uit Node 2
Workflow 3: Afspraakherinnering automatisch versturen
Stuur een dag voor een afspraak automatisch een herinnering via WhatsApp. Trigger: dagelijks om 09:00 een Google Calendar uitlezen. Actie: voor elke afspraak van morgen een WhatsApp-herinnering sturen.
// n8n workflow: dagelijkse agenda-check -> WhatsApp herinnering
Node 1: Cron Trigger
Schedule: elke dag om 09:00
Node 2: Google Calendar node
Actie: Get Events
Calendar: jouw zakelijke agenda
Time Min: {{ new Date(Date.now() + 86400000).toISOString().split('T')[0] }}T00:00:00Z
Time Max: {{ new Date(Date.now() + 86400000).toISOString().split('T')[0] }}T23:59:59Z
Node 3: IF node
Conditie: $json.attendees.length > 0 (alleen als er gasten zijn)
Node 4: Loop node (voor elke afspraak)
Node 5: HTTP Request (Meta API -- herinnering template)
Template naam: afspraak_herinnering
Parameters:
- klantnaam: {{ $json.summary.split('-')[0].trim() }}
- datum: morgen
- tijd: {{ $json.start.dateTime.split('T')[1].substring(0,5) }}
- adres: {{ $json.location }}
// Voorbeeld herinnerings-template (in te dienen bij Meta):
// 'Hallo {{1}}, een herinnering voor uw afspraak bij [Bedrijf]
// op {{2}} om {{3}} uur op {{4}}.
// Annuleren of verzetten? Bel ons op 020-1234567.'
Foutafhandeling en best practices
Altijd een fallback instellen
Voeg bij elke workflow een Error Trigger node toe die je waarschuwt als er iets misgaat. Stel ook een timeout in op API-aanroepen: als de Meta API niet reageert binnen 10 seconden, wil je dat de workflow dit netjes afhandelt en logt.
Opt-out respecteren
Klanten die 'STOP' of 'Uitschrijven' sturen, moeten direct worden opgenomen in een opt-out lijst. Voeg een IF node toe na de Webhook die controleert op opt-out keywords en sla deze nummers op in een Google Sheet of database. Stuur nooit berichten naar nummers op de opt-out lijst.
Rate limits en delays
Meta legt rate limits op bij hoge volumes. Gebruik de 'Wait' node in n8n om tussen berichten een pauze van 0,5 tot 1 seconde in te bouwen bij batch-verzendingen. Bij meer dan 1.000 berichten per uur overleg je met je BSP over een hogere tier.
Templates vooraf goedkeuren
Dien alle berichttemplates minstens een week voor de geplande lancering in bij Meta. Zonder goedgekeurde template kun je geen proactieve berichten sturen. Zorg dat elke template past bij de categorie die je opgeeft: marketing, utility of authenticatie.
- Log alle uitgaande berichten in Google Sheets: datum, telefoonnummer, template, status
- Monitor de 'delivery rate' via de Meta API webhook: berichten met status 'failed' opnieuw verwerken
- Test elk scenario met een testaccount voor je live gaat
- Bewaar nooit meer data dan nodig: WhatsApp-berichten bevatten persoonsgegevens
AVG-overwegingen
WhatsApp-berichten bevatten persoonsgegevens. Zorg voor de volgende zaken voor je live gaat met geautomatiseerde WhatsApp-communicatie.
- Verwerk alleen telefoonnummers van klanten die toestemming hebben gegeven (expliciete opt-in)
- Vermeld in je privacyverklaring dat je WhatsApp gebruikt voor klantcommunicatie
- Voeg Meta toe als verwerker in je verwerkersregister
- Vraag een Data Processing Agreement (DPA) op bij Meta via je Business Manager
- Bewaar WhatsApp-berichten niet langer dan nodig (stel een retentiebeleid in)
Tip: dubbele opt-in voor marketing-berichten
Stuur bij aanmelding voor WhatsApp-marketing een bevestigingsbericht. De klant antwoordt met 'JA' om te bevestigen. Dit is de meest robuuste manier om toestemming te documenteren en voldoet aan AVG-vereisten.
Providers vergelijken
360dialog
- Sterkste punt: native n8n-integratie, lage maandelijkse kosten (49 euro per maand)
- Geschikt voor: MKB dat snel wil starten met n8n-integratie
- Beperkingen: minder uitgebreid dashboard dan WATI of MessageBird
MessageBird
- Sterkste punt: uitgebreid platform met SMS, e-mail en WhatsApp in een interface
- Geschikt voor: bedrijven die meerdere kanalen willen beheren
- Beperkingen: hogere kosten per gesprek dan 360dialog
WATI
- Sterkste punt: gebruiksvriendelijk dashboard voor teams, geen technische kennis vereist
- Geschikt voor: klantenservice-teams die zelf WhatsApp willen beheren
- Beperkingen: duurder bij hoge volumes, beperkte n8n-integratie
Twilio
- Sterkste punt: meest flexibel, uitgebreide API, wereldwijde dekking
- Geschikt voor: developers die maximale controle willen
- Beperkingen: hogere instapdrempel, facturering complexer
Vervolgstappen
Met deze drie workflows heb je de basis van WhatsApp Business-automatisering. Ideen voor uitbreiding:
- Bestelling tracken: klant stuurt bestelnummer, bot reageert met actuele status via webshop-API
- Klantreviews opvragen: stuur 3 dagen na levering automatisch een reviewverzoek
- Meertalig: detecteer taal van inkomend bericht en antwoord in dezelfde taal
- Catalogus-integratie: stuur productafbeeldingen en prijzen vanuit WhatsApp Catalog
- Betaallink: genereer een Stripe- of Mollie-betaallink en stuur die via WhatsApp
Zie ook de handleiding 'Telegram-bot bouwen met n8n' voor een vergelijkbare setup op het Telegram-platform, en 'n8n koppelen aan de OpenAI API' voor meer over AI-integraties in je workflows.