Wat is jouw situatie?
Situatie A – makkelijk en voor iedereen: één grafiek van je antwoorden die automatisch ververst na elke nieuwe respons.
Situatie B – voor teams die groepen vergelijken: een draaitabel die je kunt filteren op kanaal, taal of elke andere kolom.
Elke respons die je enquête ophaalt, verschijnt direct als een nieuwe rij in een Google Sheet zodra deze is ingestuurd. Je maakt éénmalig een grafiek of draaitabel en je rapport is altijd up-to-date: geen gedoe meer met exports, kopiëren of wachten tot iemand de cijfers bijwerkt.
Dit is het rapport bij situatie A: een grafiek die automatisch wordt bijgewerkt bij elke nieuwe respons:
En hier zie je de draaitabel uit situatie B, gefilterd op kanaal met een slicer:
Zo werkt het. Survio stuurt elke voltooide respons naar jouw webhook-URL. Een automatiseringstool (in deze handleiding gebruiken we n8n) vangt het op en schrijft één rij in je sheet. Survio verstuurt de data, n8n schrijft het weg en de sheet maakt automatisch je rapport.
Nieuw met webhooks in Survio? Start met Webhooks: stuur responsen realtime naar je andere tools en kom daarna hier terug.
Dit ga je maken
Beide rapporten werken volgens dezelfde aanpak: elke voltooide respons wordt één rij op het tabblad responses.
Kort overzicht | Situatie A: één grafiek | Situatie B: verslag per segment |
Resultaat | Een grafiek van de verdeling van antwoorden, automatisch bijgewerkt na elke nieuwe respons | Een draaitabel die je kunt filteren op kanaal, taal of een andere kolom |
Tools | Survio, n8n, Google Sheets | Survio, n8n, Google Sheets (met draaitabel en slicer) |
Ideaal voor | Een kleine organisatie die één duidelijke en actuele grafiek wil | Een team dat groepen wil vergelijken, bijvoorbeeld online versus klanten in de winkel |
Voordat je begint
Een Survio-enquête met een betaald abonnement. Webhooks zijn niet beschikbaar in het Free-abonnement en per abonnement geldt een limiet op het aantal webhooks per enquête (zie het webhooks-artikel).
Een n8n-account, n8n Cloud of zelf-hosted.
Een Google-account voor Google Sheets.
We laten dit stappenplan zien aan de hand van een korte klanttevredenheidsenquête: een sterbeoordeling, een keuzevraag "Hoe tevreden ben je in het algemeen?", een keuzevraag "Hoe heb je deze keer bij ons gewinkeld?", een open veld voor feedback en eventueel een e-mailvraag. Jouw enquête mag anders zijn; je koppelt in stap 5 je eigen vragen.
Stap 1 — Bereid je sheet voor
Maak een nieuw Google Sheet aan en hernoem het eerste tabblad naar
responses.Typ in rij 1 de kolomkoppen. Wij gebruiken
Response ID,Submitted,Rating (1-5),Satisfaction,Channel,What could we do better,E-mail,Order ID,LanguageenSource.
Laat Response ID als eerste kolom staan. Dit is het unieke Survio-id voor elke respons. n8n gebruikt het om de bestaande rij bij te werken in plaats van een duplicaat toe te voegen als een aflevering opnieuw wordt geprobeerd.
Stap 2 — Maak de webhook aan in n8n
Maak in n8n een nieuwe workflow aan en voeg een Webhook-node toe als trigger.
Zet HTTP Method op POST.
Ga naar het Production URL-tabblad en kopieer het adres.
Klik op Publiceren. Leveringen komen pas binnen nadat de workflow is gepubliceerd.
Gebruik altijd de Production URL, niet de Test URL. De Test URL luistert alleen zolang de editor een test event verwacht, dus Survio's leveringen mislukken zodra je het sluit. Survio probeert een mislukte aflevering ongeveer een dag opnieuw te sturen, en na 5 dagen schakelt Survio de webhook uit.
Stap 3 — Koppel de enquête in Survio
Open je enquête en ga naar Antwoorden verzamelen.
Klik in de linkerbalk onder Automatiseringen & integraties op Webhooks en klik op + Webhook toevoegen.
Plak de n8n Production URL bij Webhook-URL en klik op Webhook opslaan. De webhook wordt direct geactiveerd.
Stap 4 — Stuur een testrapport in en zoek je vraag-ids
Open je enquête via de gewone link en vul alle vragen in tot het eind. Survio stuurt alleen voltooide responsen, dus zorg dat je doorloopt tot de laatste pagina.
Ga in n8n naar het tabblad Uitvoeringen. De aflevering verschijnt normaal gesproken in enkele seconden.
Open de uitvoering en klik op de Webhook-node. Klap
bodyuit, daarnadataenanswers. Per antwoord zie je zijnquestion.id, hetlabelen hetantwoord.Noteer het id van elke vraag die je als kolom wilt. Je kunt ook Pin aanklikken om direct door te gaan met bouwen zonder opnieuw de enquête in te vullen.
Kies altijd antwoorden op vraag-id. Antwoorden komen als lijst. Voeg je later een vraag toe in de enquête, dan verschuift de volgorde en zouden kolommen anders stilletjes verkeerde antwoorden krijgen. Vraag-ids veranderen nooit.
Wil je het e-mailadres van de respondent? Gebruik niet data.email: dat blijft leeg als het e-mailadres via een e-mailvraag of URL-parameter komt. Haal het uit het antwoord op je e-mailvraag of uit data.parameters.
Stap 5 — Zet elke respons om in een rij
Dit gebeurt via twee nodes: Rij voorbereiden haalt de antwoorden op, Respons opslaan in sheet schrijft ze naar je sheet.
Rij voorbereiden
Voeg na de Webhook-node een Velden bewerken (Set)-node toe en hernoem die naar
Rij voorbereiden.Voeg bij Velden om in te stellen één veld per kolom toe, allemaal van type String. De naam moet exact overeenkomen met de kolomkop; bij waarde vul je de onderstaande expressie in.
Vervang de vraag-ids (90403153, enz.) door de jouwe, en Europe/Prague door jouw tijdzone.
Veldnaam | Waarde |
Response ID |
|
Submitted |
|
Rating (1-5) |
|
Satisfaction |
|
Channel |
|
What could we do better |
|
| |
Order ID |
|
Language |
|
Source |
|
Respons opslaan in sheet
Voeg na Rij voorbereiden een Google Sheets-node toe, geef deze de naam
Respons opslaan in sheeten kies de actie Rij bijvoegen of bijwerken.Koppel je Google-account, selecteer je spreadsheet bij Document (uit de lijst of plak het ID) en het tabblad
responsesbij Sheet.Zet Mapping Column Mode op Map automatisch en Kolom om op te matchen op Response ID.
Waarom een aparte Rij voorbereiden-stap? Als je een ander spreadsheet of tabblad kiest in de Google Sheets-node, wist n8n de kolommapping. Met de expressies in Rij voorbereiden blijft alles behouden: de Google Sheets-node matcht alleen veldnamen met kolomkoppen.
Klik opnieuw op Publiceren. Wijzigingen die je na publicatie maakt, worden pas actief na opnieuw publiceren.
Wat achtergrondinformatie bij de expressies:
Keuzevragen komen als
{ ids, labels, value }.labels[0]is de tekst van de gekozen optie. Bij meerkeuzevragen gebruik jelabels.join(', ')om alles in één cel te plaatsen.valuebevat de tekst die bij "Anders" wordt opgegeven.Tijden komen binnen als UTC. De Submitted-expressie zet ze om naar jouw tijdzone en Google Sheets beschouwt de kolom als datum/tijd waarmee je kunt sorteren en groeperen.
URL-parameters met een streepje zoals
order-idgebruik je alsparameters['order-id']. Survio accepteert geen underscores in parameternamen.De naam van de enquête wordt niet naar je data gestuurd. Laat je meerdere enquêtes naar één sheet schrijven, voeg dan een enquêtekolom toe aan je sheet en een enquêteveld met de naam in Rij voorbereiden.
Stuur opnieuw een respons in. Binnen enkele seconden zie je een nieuwe rij in je sheet.
Situatie A — Maak een grafiek van de antwoorden
Voeg een tabblad toe met de naam
report.Typ
Satisfactionin A1 enResponsesin B1. Zet in A2 t/m A6 de antwoordopties precies zoals in je enquête.Typ in B2
=COUNTIF(responses!D:D,A2)en kopieer deze cel naar beneden tot B6.Selecteer A1:B6 en kies Invoegen → Grafiek. Google Sheets stelt een kolomdiagram voor. Om de titel aan te passen, ga je naar Aanpassen → Grafiek- & as-titels.
Elke nieuwe respons voegt een rij toe aan responses en de aantallen plus grafiek worden vanzelf bijgewerkt, precies zoals bovenaan deze pagina.
Situatie B — Vergelijk groepen met een draaitabel
Selecteer de gegevens op het tabblad
responsesen kies Invoegen → Draaitabel, daarna Nieuwe sheet.Voeg onder Rijen de kolom Satisfaction toe. Kies onder Waarden Response ID en wijzig Samenvatten op van SOM naar AANTALLEN.
Kies Gegevens → Slicer toevoegen en selecteer de kolom Channel. Selecteer de gewenste waarden en bevestig met OK. Het resultaat toont de draaitabel zoals bovenaan deze pagina.
Je kunt op elke kolom slicen: Channel (je eigen vraag), Language (de taalversie van de enquête die de respondent invulde), Source (hoe de respons binnenkwam, bijvoorbeeld via een directe link of e-mailuitnodiging) of Order ID.
Een selectie in de slicer wordt niet onthouden bij het volgende openen. Als je het bestand opnieuw opent, staan alle waarden aangevinkt. Wil je een selectie als standaard bewaren, doe dit vanuit het slicermenu.
Gebruik de kant-en-klare workflow
In plaats van stap 2 en 5 handmatig bouwen, kun je direct onze workflow downloaden. Download het bestand survio-responses-to-google-sheets.json via de bijlage onderaan dit artikel en doe het volgende:
Maak in n8n een lege workflow aan. Open het menu naast de workflownaam (drie puntjes) en kies Importeren, dan Uit bestand. Selecteer het gedownloade bestand.
Open Rij voorbereiden en vervang de vraag-ids en Europe/Prague door je eigen gegevens.
Open Respons opslaan in sheet. Zie je een rood waarschuwingsicoon? Koppel je Google-account en kies het juiste spreadsheet en het
responses-tabblad. n8n wisselt Mapping Column Mode naar handmatig; zet deze terug naar Map automatisch en selecteer Response ID als kolom om op te matchen.Open Survio Webhook, kopieer de Production URL in Survio (zie stap 3) en klik op Publiceren.
Test het end-to-end
Vul een respons in via de enquêtelink. Binnen enkele seconden verschijnt er een nieuwe rij op het
responses-tabblad.Controleer of Response ID is ingevuld. Zo voorkom je dubbele rijen.
Bekijk het tabblad Uitvoeringen in n8n. Daar zie je elke aflevering en de bijbehorende data.
Probleemoplossing
Symptoom | Oorzaak | Oplossing |
Er komt niets aan in n8n | De Test URL staat in Survio of de workflow is niet gepubliceerd | Kopieer de Production URL naar Survio en klik op Publiceren |
Survio accepteert de webhook-URL van je eigen n8n niet | n8n toont een intern adres in plaats van het publieke adres | Stel de instelling |
"Luisteren naar test event" toont niets na het insturen van de enquête | Survio stuurt naar de Production URL, je luistert op de Test URL | Controleer het tabblad Uitvoeringen |
Je laatste wijziging heeft geen effect | De workflow is gepubliceerd, maar de wijziging niet (de knop Publiceren heeft een punt) | Klik opnieuw op Publiceren |
Dezelfde respons verschijnt twee keer | Actie staat op Rij toevoegen of kolom om op te matchen ontbreekt | Gebruik 'Rij bijvoegen of bijwerken' en match op Response ID |
Een kolom blijft leeg en er verschijnt een extra kolom achteraan | Veldnaam in Rij voorbereiden overeenkomt niet exact met de kolomnaam | Hernoem het veld in Rij voorbereiden zodat het gelijk is aan de kolomnaam en verwijder de extra kolom |
Een cel toont [object Object] | Keuzeantwoord gemapped zonder | Gebruik |
Kolommen vullen met verkeerde antwoorden na wijzigen van enquête | Antwoorden gekozen op positie in de lijst | Koppel altijd op |
De kolom E-mail blijft leeg | Gekoppeld op | Lees het e-mailadres uit de e-mailvraag of URL-parameter |
Responsen vóór het instellen ontbreken | Webhooks sturen alleen responsen die na het instellen binnenkomen | Exporteer oude responsen éénmalig uit Survio en plak ze in je sheet |
Survio schakelt de webhook uit | De webhook-URL is 5 dagen onafgebroken mislukt | Los het probleem op, zet daarna de webhook weer aan in Survio |
Handig om te weten
Survio stuurt alleen voltooide responsen, één bericht per respons, binnen enkele seconden.
Er wordt niets achteraf verzonden: geen responsen van voor het instellen van de webhook, geen responsen ingestuurd tijdens een pauze.
Een mislukte aflevering wordt maximaal 8 keer opnieuw aangeboden, binnen ongeveer 27 uur, met maximaal 30 seconden wachttijd per poging. Omdat je matcht op Response ID blijven herhaalde afleveringen onschadelijk.
Als afleveringen 5 dagen achter elkaar mislukken, schakelt Survio de webhook uit en moet je hem zelf weer aanzetten.
Een webhook pauzeren behoudt de plek; verwijderen is definitief.
Survio houdt geen aflevergeschiedenis bij in de app. Het tabblad Uitvoeringen in n8n is jouw logboek.
Responsen die via webhooks worden verzonden, kosten geen extra responsen van je abonnement.
Laat je het liever door ons instellen? Klik op de Webhooks-pagina in Survio op Expert setup aanvragen, beschrijf wat je wilt laten gebeuren en ons team bouwt, test en levert een werkende webhook.
