Vilket scenario passar dig?
Scenario A – superenkelt, för alla: ett diagram med dina svar som automatiskt uppdateras vid varje nytt svar.
Scenario B – för team som jämför grupper: en pivottabell där du kan filtrera på kanal, språk eller någon annan kolumn.
Varje svar från din enkät landar som en ny rad i ett Google Sheet så fort det skickas in. Bygg ett diagram eller en pivottabell ovanpå – rapporten håller sig alltid uppdaterad helt själv: ingen export, ingen klipp-och-klistra, inga väntetider.
Så här ser rapporten ut i Scenario A, ett diagram som fyller på automatiskt för varje svar:
Och här ser du exempel på pivottabellen i Scenario B, filtrerad på kanal med en slicer:
Så funkar det! Survio skickar varje inskickat svar till en webhook-URL. Ett automationsverktyg (vi använder n8n här) tar emot svaret och sparar en rad i arket. Survio skickar datan, n8n sparar det, och arket visar rapporten.
Ny på Webhooks i Survio? Börja med Webhooks: skicka svar till dina andra verktyg direkt, och kom tillbaka hit sen.
Det här bygger du
Båda rapporttyperna använder samma grund: varje ifyllt svar blir en rad på en flik som heter responses.
Överblick | Scenario A: diagram | Scenario B: rapport per segment |
Resultat | Ett diagram som visar fördelningen av svar och hålls automatiskt aktuellt | En pivottabell där du filtrerar t.ex. på kanal, språk eller annan kolumn |
Verktyg | Survio, n8n, Google Sheets | Survio, n8n, Google Sheets (pivottabell och slicer) |
Bäst för | Ett mindre företag som snabbt vill se sin data visuellt och alltid uppdaterad | Ett team som jämför t.ex. online- och butikskunder eller olika kanaler |
Innan du sätter igång
En Survio-enkät på en aktiv betalplan. Webhooks ingår inte i Free-planen och antalet Webhooks per enkät beror på plan (se webhook-artikeln).
n8n-konto (Cloud-variant eller självhostat).
Google-konto för Google Sheets.
I guiden använder vi ett enkelt kundnöjdhetsenkät: stjärnskala, “Hur nöjd är du totalt?”, “Hur handlade du denna gång?”, fritext, och en frivillig e-postfråga. Din enkät kan vara annorlunda – du mappar dina frågor i Steg 5.
Steg 1 — Förbered Google-arket
Skapa ett nytt Google Sheet och döp den första fliken till
responses.På rad 1: skriv in kolumnrubriker. Vi använder
Response ID,Submitted,Rating (1-5),Satisfaction,Channel,What could we do better,E-mail,Order ID,LanguageochSource.
Låt Response ID vara först. Det är Survios unika id för varje svar och behövs för att n8n ska veta vilken rad som ska uppdateras vid eventuella omleveranser, så du slipper dubbletter.
Steg 2 — Skapa webhook i n8n
I n8n, skapa ett nytt arbetsflöde och lägg till en Webhook-nod som trigger.
Välj HTTP Method som POST.
Öppna fliken Production URL och kopiera adressen.
Klicka på Publish. Production URL tar bara emot svar när arbetsflödet är publicerat.
Använd alltid Production URL, aldrig Test URL. Test URL lyssnar bara medan editorn är öppen. Så fort du stänger editorn misslyckas Survios leveranser och webhooken stängs av efter några dagar.
Steg 3 — Anslut din enkät i Survio
Gå till din Enkät och välj Få svar.
I menyn till vänster under Automations & Integrationer, välj Webhooks och klicka på + Lägg till webhook.
Klistra in n8n Production URL i Webhook URL och klicka på Spara webhook. Webhooken aktiveras direkt.
Steg 4 — Skicka testsvar & hitta fråge-ID
Öppna din Enkät via ordinarie länk och fyll i samtliga frågor – spara hela vägen till inskick.
I n8n, öppna fliken Executions. Datan syns efter några sekunder.
Klicka på leveransen, öppna Webhook-noden. Veckla ut
body, sedandata, senanswers. Där hittar du varje frågasquestion.id,labelochanswer.Notera id för de Frågor som du vill ha som kolumn i arket. Du kan också Pin-markera svaret för att använda det vidare i bygget utan att fylla i Enkäten igen.
Alltid välj svar baserat på fråge-ID. Om du senare lägger till Frågor ändras ordningen i listan, men fråge-ID ändras aldrig – så du slipper felmappade värden.
Letar du efter respondentens e-post? Använd inte data.email: det kan vara tomt om e-post samlats via fråga eller URL. Hämta e-post från svaret på din e-postfråga eller i data.parameters.
Steg 5 — Gör varje svar till en rad
Här behövs två noder: Prepare row lyfter ut svaren, Save response to sheet skriver dem i Google Sheet.
Prepare row
Lägg till en Edit Fields (Set)-nod efter Webhook-noden och kalla den
Prepare row.Under Fields to Set: lägg till ett fält för varje kolumn, typ String – exakt samma namn som kolumnrubriken, och som värde använder du respektive uttryck nedan.
Byt ut fråge-ID (90403153 osv.) till de du skrev ner i Steg 4, samt Europe/Prague till rätt tidszon för dig.
Fältnamn | Värde |
Response ID |
|
Submitted |
|
Rating (1-5) |
|
Satisfaction |
|
Channel |
|
What could we do better |
|
| |
Order ID |
|
Language |
|
Source |
|
Save response to sheet
Lägg till en Google Sheets-nod efter Prepare row, döp om den till
Save response to sheetoch välj “Append or Update Row”.Anslut till ditt Google-konto. Välj det ark som ska användas under Document (från listan eller klistra in ID) samt fliken
responsesunder Sheet.Sätt Mapping Column Mode till Map Automatically, och Column to match on till Response ID.
Varför göra Prepare row separat? Om du byter ark/flik i Google Sheets-noden nollas kolumnmappningen där. Med uttrycken i Prepare row ligger all logik kvar, och Sheets-noden parar bara ihop namn mot rubriker.
Klicka på Publish igen. Alla ändringar måste publiceras för att slå igenom.
Några detaljer kring uttrycken ovan:
Valfrågor levereras som
{ ids, labels, value }.labels[0]är texten på det valda alternativet. Vid flervalsfråga: användlabels.join(', ')för att samla alla markerade val i en cell.valuerymmer fritexten om "Övrigt" är valt.Tider skickas i UTC. “Submitted”-uttrycket omvandlar till rätt tidszon, så du kan enkelt sortera och hantera datumet i Google Sheets.
URL-parametrar med bindestreck (som
order-id) måste anges med hakparenteser:parameters['order-id']. Survio tillåter inte understreck i parameternamn.Enkättiteln finns inte i datan som Survio skickar. Om flera Enkäter skriver till samma ark, lägg till en kolumn “Enkät” manuellt och lägg till Enkätens namn i Prepare row.
Skicka in ytterligare ett svar – du ser en ny rad i arket efter ett par sekunder.
Scenario A — Diagram över svaren
Lägg till en flik som heter
report.I A1: skriv
Satisfaction, i B1:Responses. Skriv in alla svarsalternativ i A2–A6 exakt som i Enkäten.I B2: skriv
=COUNTIF(responses!D:D,A2)och dra ner till B6.Markera A1:B6 och gå till Infoga → Diagram. Sheets föreslår stapeldiagram, men du kan anpassa titeln under Anpassa → Diagram- & axeltitlar.
Varje nytt svar adderar en rad till responses, och både siffror och diagram hänger alltid med – precis som i exemplet högst upp.
Scenario B — Jämför grupper med Pivottabell
På
responses-fliken: markera din tabell och välj Infoga → Pivottabell, sedan Ny flik.Under Rader lägger du till Satisfaction och under Värden väljer du Response ID och ändrar Sammanfatta enligt från SUM till COUNTA.
Klicka på Data → Lägg till skivfilter och välj Channel-kolumnen. Kryssa för vilka värden som ska synas och bekräfta med OK. Nu får du en Pivottabell likt exemplet tidigare i artikeln.
Du kan filtrera på vilken kolumn du vill: Channel (ditt eget fält), Language (språket Respondenten fyllde i), Source (hur svaret kom in, t.ex. direkt- eller e-postlänk) eller Order ID.
Skivfiltrering sparas inte automatiskt. När filen öppnas igen visar filtret alltid alla värden. Vill du spara urvalet, välj “Spara som standard” i skivfiltrets meny.
Ladda ner färdig arbetsflödesfil
Vill du slippa bygga Steg 2 och 5 själv? Börja med vårt färdiga arbetsflöde. Ladda ner survio-responses-to-google-sheets.json längst ner på sidan och gör så här:
I n8n, skapa ett tomt arbetsflöde. Klicka på menyn (tre prickar) vid arbetsflödets namn, välj Import → Från fil och importera filen.
Gå in på Prepare row och byt ut fråge-ID mot dina egna samt rätt tidszon.
Gå in på Save response to sheet. Röd varning visas tills inställningarna är klara. Koppla Google-kontot och välj ark + flik
responses. n8n byter automatiskt till Map Each Column Manually: byt tillbaka till Map Automatically och välj Column to match on till Response ID.Gå in på Survio Webhook, kopiera Production URL, lägg till i Survio enligt Steg 3 och tryck Publish.
Testa att allt funkar
Fyll i ett testsvar via enkätlänken. En rad visas på
responses-fliken inom någon sekund.Kolla så Response ID är ifyllt – då slipper du dubbletter.
Öppna Executions i n8n. Där ser du alla leveranser och datan i detalj.
Felsökning
Symptom | Orsak | Lösning |
Inget dyker upp i n8n | Test URL lagd i Survio, eller arbetsflödet inte publicerat | Klistra in Production URL i Survio och tryck Publish |
Survio sparar inte webhook-URL för självhostad n8n | n8n visar en intern adress istället för publik | Ställ in n8n:s |
"Listen for test event" visar inget trots att enkäten är ifylld | Survio skickar bara till Production URL; lyssnaren är kopplad till Test URL | Titta på fliken Executions istället |
Senaste ändringen slår inte igenom | Arbetsflödet är publicerat men inte ändringarna (Publish-knappen är markerad) | Klicka på Publish igen |
Samma svar visas två gånger | Operation står på Append Row eller matchkolumn saknas | Använd Append or Update Row samt matcha på Response ID |
En kolumn blir tom och en ny kolumn dyker upp sist | Fältnamnet i Prepare row stämmer inte exakt med kolumnhuvudet | Ändra fältnamnet så att det matchar och ta bort extrakolumnen |
En cell visar [object Object] | Flervalsfråga mappad utan | Använd |
Kolumner får fel svar efter enkätändringar | Svar matchas efter ordning i listan | Matcha på |
E-mail-kolumnen är tom | Mapper från | Läs från e-postfråga eller url-parameter |
Svar från innan inställningen saknas | Webhook skickar bara inlämnade svar efter att den skapades | Exportera äldre svar från Survio, klistra in manuellt |
Survio har stängt av webhooken | Webhook-URL misslyckades fem dagar i sträck | Åtgärda orsaken och slå på webhooken igen i Survio |
Bra att tänka på
Survio skickar alltid inlämnade Svar, ett meddelande per svar, oftast på några sekunder.
Det skickas aldrig retroaktivt – inget från före webhooken sattes upp, och inget från en tid då den varit inaktiv.
Om ett försök misslyckas körs det upp till åtta gånger på ca 27 timmar. Ytterligare försök väntar upp till 30 sek. Eftersom vi matchar på Response ID får du aldrig dubbletter vid omförsök.
Misslyckas det fem dagar i rad stänger Survio av webhooken tills du slår på den igen.
En pausad Webhook sparas, men raderar du den är det permanent.
Survio sparar ingen leveranshistorik. Allt visas i n8n under Executions – det är din logg.
Att skicka svar via webhooks drar inte fler svar från din plan.
Vill du hellre ha hjälp av oss? Gå till Webhooks-sidan i Survio, klicka på Få experthjälp – berätta vad du vill automatisera, så sätter vi upp och testar klart en webhook åt dig.
