Hoppa till huvudinnehåll

Tillväxt – Alla leads direkt till ditt CRM: skicka Survio-demoförfrågningar till ett kalkylark eller HubSpot

Förvandla ett Survio-formulär till en lead pipeline: varje demoförfrågan blir en rad i Google Sheet och du får ett e-postmeddelande, eller så skapas en ny kontakt i HubSpot. Guide med n8n och färdiga arbetsflöden.

Skrivet av Success Team Survio

Vilket fall är för dig?

Fall A – enkelt, för alla: varje demoförfrågan hamnar i ett Google Sheet som du använder som CRM, och du får ett e-postmeddelande.

Fall B – för team som använder ett CRM: varje demoförfrågan blir ett lead i HubSpot, redo för ditt säljteam.

En besökare fyller i ditt demoförfrågningsformulär och några sekunder senare finns leadet i ditt CRM. Ett mindre företag får en ny rad i sitt leadark och ett e-postmeddelande de kan svara på, ett säljteam får en ny kontakt i HubSpot. Oavsett vilket, du kan prata med leadet medan de fortfarande är kvar på din hemsida.
​

Detta är e-postmeddelandet du får för varje ny demoförfrågan i Fall A:
​

New demo request e-mail in Gmail


​

Och så här ser den nya kontakten ut i HubSpot i Fall B:
​

HubSpot contact created from a demo request: lifecycle stage Lead and the request in Message

Så fungerar det. Survio skickar varje inskickat svar till en webhook-URL. Ett automatiseringsverktyg (vi använder n8n i den här guiden) tar emot det och skriver in leadet där du arbetar. Survio gör utskicket, n8n gör resten.

Nybörjare med webhooks i Survio? Börja med Webhooks: skicka svar till dina andra verktyg i realtid och återkom sen hit.
​

Det här bygger du

Båda fallen börjar likadant: ett kort demoförfrågningsformulär på din webbplats, skickat till n8n via en webhook.

Överblick

Fall A: ett kalkylark som ditt CRM

Fall B: HubSpot

Resultat

Varje förfrågan blir en rad i Google Sheets med en Status-kolumn, och du får ett e-postmeddelande

Varje förfrågan blir en ny kontakt i HubSpot CRM, redo för ditt säljteam

Verktyg

Survio, n8n, Google Sheets, Gmail

Survio, n8n, HubSpot

Bäst för

Ett mindre företag som följer upp leads själva

Ett säljteam som redan arbetar i HubSpot

Innan du börjar

  • En Survio-enkät på en betald plan. Webhooks är inte tillgängliga på Free-planen och varje plan tillåter ett visst antal webhooks per enkät (se webhooks-artikeln).

  • Ett n8n-konto, n8n Cloud eller egen installation.

  • Fall A: ett Google-konto för Google Sheets och Gmail. Fall B: ett HubSpot-konto.

I den här guiden använder vi ett kort demoförfrågningsformulär: namn, arbetse-post (en e-postfråga), företag, teamstorlek (en flervalsfråga) och en valfri fråga "Vad vill du se i demon?". Ditt formulär kan se annorlunda ut; du mappar dina egna frågor i Fall A eller Fall B.
​

Steg 1 — Lägg ut formuläret på din webbplats

  1. Öppna din enkät, gå till Få svar och välj På webben.

  2. Välj Popup-fönster och ställ in när det visas. För ett kort formulär, aktivera Dölj titelsida så besökare börjar med första frågan.

  3. Klicka på Bädda in på hemsida och klistra in koden på din webbplats.

Pop-up window settings for the survey in Survio
Embed code for the pop-up window

Fler alternativ, som knapp eller sidofältswidget, finns i Bädda in en enkät på din webbplats.
​

Steg 2 — Endast Fall A: förbered leadarket

  1. Skapa ett nytt Google Sheet och döp första fliken till leads.

  2. Skriv kolumnrubriker i rad 1: Response ID, Received, Name, E-mail, Company, Team size, What they want to see, Status och Language.

  3. Markera cellerna under Status-rubriken och välj Infoga → Rullgardinsmeny, lägg till alternativen New, Contacted och Done (med Lägg till annat alternativ), och klicka Klar.

Nu är ditt ark ett enkelt CRM. Nya leads hamnar som New. När du kontaktat någon, byt till Contacted, och till Done när affären är klar eller förlorad. Filtrera Status-kolumnen för att se vilka som återstår att följa upp.

Steg 3 — Skapa webhooken i n8n

  1. I n8n, skapa ett nytt arbetsflöde och lägg till en Webhook-nod som trigger.

  2. Ställ in HTTP Method på POST.

  3. Byt till fliken Production URL och kopiera adressen.

  4. Klicka på Publicera. Produktionsadressen tar bara emot leveranser när arbetsflödet är publicerat.

n8n Webhook node with HTTP Method POST and the Production URL tab
Published button in the n8n editor

Använd Production URL, inte Test URL. Test URL lyssnar bara när editorn väntar på ett test, så Survios leveranser misslyckas så snart du stänger. Survio försöker igen i ungefär ett dygn, och efter 5 dagars misslyckanden stängs webhooken av.

Steg 4 — Koppla enkäten i Survio

  1. Öppna din enkät och gå till Få svar.

  2. Välj Automatisering & integrationer i vänstermenyn, välj Webhooks och klicka + Lägg till webhook.

  3. Klistra in n8n-Production URL under Webhook URL och klicka Spara webhook. Webhooken aktiveras direkt.

Add a webhook dialog in Survio with the n8n Production URL filled in
Saved webhook in Survio, switched on


​

Steg 5 — Skicka en testförfrågan och hitta fråge-id:n

  1. Fyll i formuläret via dess vanliga länk och skicka in det. Survio skickar bara inlämnade svar, så klicka dig igenom till slutet.

  2. I n8n, öppna fliken Körningar. Leveransen syns inom några sekunder.

  3. Öppna körningen och klicka på Webhook-noden. Vik ut body, sen data, sen answers. Varje svar visar sitt question.id, label och answer.

  4. Skriv ner id:t för varje fråga. Du kan också klicka Nåla fast för att fortsätta bygga mot detta svar utan att skicka formuläret igen.

Webhook node output in n8n with a demo request

Välj alltid svar utifrån fråga-id. Svaren kommer som en lista. Lägger du till frågor senare flyttas positionerna, men fråga-id ändras aldrig.

Leadets e-post finns i svaren. Använd inte data.email: det är tomt när e-posten kommer från en e-postfråga. Läs den från svaret på din e-postfråga.

Fall A — Ett ark som CRM + ett e-postmeddelande

Arbetsflödet har tre steg efter webhooken: Förbered lead hämtar svaren, Spara lead till ark lägger till raden och Mejla det nya leadet meddelar dig.
​

Förbered lead

  1. Lägg till en Redigera fält (Set)-nod efter Webhook-noden och döp den till Förbered lead.

  2. Under Fält att sätta, lägg till ett fält för varje kolumn i arket och låt typen vara Sträng. Fältnamnet måste stämma exakt med kolumnrubriken, värdet är uttrycket nedan.

  3. Byt ut fråga-id:n (90403243 osv) mot id du skrev upp i Steg 5 samt Europe/Prague till din tidszon.

Fältnamn

Värde

Response ID

{{ $json.body.data.responseId }}

Received

{{ DateTime.fromISO($json.body.data.submitted).setZone('Europe/Prague').toFormat('yyyy-MM-dd HH:mm') }}

Name

{{ $json.body.data.answers.find(a => a.question.id === 90403243)?.answer ?? "" }}

E-mail

{{ $json.body.data.answers.find(a => a.question.id === 90403263)?.answer ?? "" }}

Company

{{ $json.body.data.answers.find(a => a.question.id === 90403245)?.answer ?? "" }}

Team size

{{ $json.body.data.answers.find(a => a.question.id === 90403247)?.answer?.labels?.[0] ?? "" }}

What they want to see

{{ $json.body.data.answers.find(a => a.question.id === 90403244)?.answer ?? "" }}

Status

New (text, inte uttryck)

Language

{{ $json.body.data.langCode }}

Prepare lead node in n8n with Fields to Set

Spara lead till ark

  1. Lägg till en Google Sheets-nod efter Förbered lead, döp den till Spara lead till ark och välj operation Lägg till eller uppdatera rad.

  2. Anslut ditt Google-konto, välj kalkylblad under Dokument och fliken leads under Sheet.

  3. Ställ in Mapping Column Mode på Map Automatically och Kolumn att matcha på till Response ID.

  4. Under Alternativ, slå på Cellformat och välj Låt n8n formatera. Annars tolkar Google Sheets svar som "2-10" som datum.

Save lead to sheet node: Append or Update Row, Map Automatically, Column to match on Response ID

Varför eget Förbered lead-steg? När du byter kalkylblad eller flik i Google Sheets-noden nollställs kolumnmappningen. Med uttrycken i Förbered lead förlorar du inget.

Mejla det nya leadet

  1. Lägg till en Gmail-nod efter Spara lead till ark, döp den till Mejla det nya leadet och välj Meddelande och Skicka.

  2. Anslut ditt Gmail-konto och fyll i din adress under Till.

  3. Sätt Ämne till Ny demoförfrågan: {{ $('Prepare lead').item.json.Name }} ({{ $('Prepare lead').item.json.Company }}).

  4. Sätt E-posttyp till HTML och skriv meddelandet med leadets detaljer, t.ex. {{ $('Prepare lead').item.json['E-mail'] }} för e-postadressen.

  5. Under Alternativ, lägg till Skicka svar till med {{ $('Prepare lead').item.json['E-mail'] }} så att svar går direkt till leadet och stäng av Lägg till n8n-avsändarreferens.

Gmail node E-mail the new lead with To, Subject, Message and Send Replies To

Klicka på Publicera igen. Ändringar går live först när du publicerar igen.

n8n workflow: Survio Webhook, Prepare lead, Save lead to sheet, E-mail the new lead

Skicka en ny förfrågan. En ny rad med status New dyker upp i arket och e-postmeddelandet från början av artikeln kommer strax efter.

The leads tab in Google Sheets with a Status dropdown


​

Fall B — Skicka varje demoförfrågan till HubSpot

Här läggs leadet direkt in i HubSpot CRM som en kontakt med livscykelstadiet Lead, så säljteamet tar vid direkt där de jobbar. Arbetsflödet har två steg efter webhooken: Förbered lead och Skapa eller uppdatera kontakt.

Förbered lead

Lägg till en Redigera fält (Set)-nod efter webhooken, döp till Förbered lead och lägg in dessa Sträng-fält. Byt fråga-id:n till dina egna.

Fältnamn

Värde

E-mail

{{ $json.body.data.answers.find(a => a.question.id === 90403263)?.answer ?? "" }}

Förnamn

{{ ($json.body.data.answers.find(a => a.question.id === 90403243)?.answer ?? "").trim().split(" ")[0] }}

Efternamn

{{ ($json.body.data.answers.find(a => a.question.id === 90403243)?.answer ?? "").trim().split(" ").slice(1).join(" ") }}

Company

{{ $json.body.data.answers.find(a => a.question.id === 90403245)?.answer ?? "" }}

Meddelande

Demoförfrågan från Survio. Teamstorlek: {{ $json.body.data.answers.find(a => a.question.id === 90403247)?.answer?.labels?.[0] }}. Vill se: {{ $json.body.data.answers.find(a => a.question.id === 90403244)?.answer }}

Fälten Förnamn och Efternamn delar upp namnet från en enkel "Ditt namn"-fråga. Om ditt formulär frågar efter för- och efternamn separat, använd respektive svar.
​

Skapa eller uppdatera kontakt

  1. Lägg till en HubSpot-nod efter Förbered lead, döp den till Skapa eller uppdatera kontakt och välj resurs Kontakt och operation Skapa eller uppdatera.

  2. Koppla ditt HubSpot-konto.

  3. Sätt Email till {{ $json['E-mail'] }}. HubSpot använder e-posten för att hitta en befintlig kontakt, dvs ett återkommande lead uppdateras i stället för att dubblas.

  4. Under Kontaktuppgifter, klicka Lägg till uppgift och lägg till Förnamn, Efternamn, Företagsnamn och Meddelande från Förbered lead och ställ in Livscykelstadie-namn eller id till Lead.

HubSpot node Create or update contact with Email, contact properties and Lifecycle Stage Lead

Klicka på Publicera igen.

n8n workflow: Survio Webhook, Prepare lead, Create or update contact

Kontakten kan kopplas automatiskt till företag. Om HubSpot hittar ett företag med samma e-postdomän kopplas kontakten till det företaget, och kontaktägaren kan ärvas. Det är oftast önskat; testa gärna själv med en demo.

Hämta det färdiga arbetsflödet

Istället för att bygga steg 3 och vidare själv kan du börja direkt med vårt arbetsflöde. Ladda ner rätt fil för ditt fall längst ned i artikeln: survio-demo-requests-to-sheet-and-gmail.json för Fall A, eller survio-demo-requests-to-hubspot.json för Fall B. Sedan:

  1. I n8n, skapa ett tomt arbetsflöde. Öppna menyn (tre prickar) vid arbetsflödets namn och välj Importera, sedan Från fil. Välj filen du laddade ner.

  2. Öppna Förbered lead och byt ut fråge-id:n mot dina egna, och för Fall A även Europe/Prague till din tidszon.

  3. Fall A: öppna Spara lead till ark. Det syns en röd varningssymbol tills det är klart. Koppla ditt Google-konto och välj kalkylarket och fliken leads. n8n byter då ofta till manuell mappning: byt tillbaka till Map Automatically och ställ Kolumn att matcha på till Response ID. Öppna därefter Mejla det nya leadet, koppla Gmail och fyll i din adress under Till.

  4. Fall B: öppna Skapa eller uppdatera kontakt och koppla ditt HubSpot-konto.

  5. Öppna Survio Webhook, kopiera Production URL till Survio (Steg 4) och klicka Publicera.

n8n workflow menu with Import and From file

Testa hela flödet

  1. Öppna din webbplats, fyll i popup-formuläret och skicka in.

  2. Fall A: kolla att en rad med status New dyker upp på leads-fliken och att du får e-postmeddelandet. Svara för att se att svaret går till leadet.

  3. Fall B: öppna HubSpot och kontrollera att kontakten finns med Lead-status och att demoförfrågan syns i Meddelande.

  4. Gå till fliken Körningar i n8n. Alla leveranser och data syns där.

Felsökning

Symptom

Orsak

Lösning

Inget kommer in i n8n

Test URL används i Survio eller arbetsflödet är inte publicerat

Klistra in Production URL i Survio och klicka Publicera

Survio kan inte spara webhooken från egen n8n-installation

n8n visar intern adress istället för offentlig

Sätt n8n:s WEBHOOK_URL till din publika https-adress och kopiera URL igen

"Lyssna efter testhändelse" visar inget trots att formulär skickats

Survio skickar till Production URL, lyssningen kollar Test URL

Kolla fliken Körningar istället

Senaste ändringen har ingen effekt

Arbetsflödet är publicerat, men ändringen är inte det (Publicera-knappen visar en punkt)

Klicka Publicera igen

En kolumn är tom och en ny skapas längst till höger i arket

Fältnamnet i Förbered lead stämmer inte exakt med kolumnrubriken

Döp om fältet i Förbered lead så det stämmer exakt, ta bort extrakolumnen

Samma lead visas två gånger

Operation vald till Lägg till rad, eller ingen matchkolumn

Använd Lägg till eller uppdatera rad och matcha på Response ID

Svar går till dig istället för leadet

Skicka svar till är inte satt i Gmail-noden

Lägg till Skicka svar till under Alternativ med leadets e-post

Teamstorlek visas som ett datum

Google Sheets tolkar 2-10 som datum

I Spara lead till ark, välj Låt n8n formatera

E-postadressen saknas

Plockades från data.email

Hämta e-postadressen från svaret på din e-postfråga

Skapa eller uppdatera kontakt misslyckas

E-post är tom eller ogiltig, eller HubSpot-kopplingen har gått ut

Gör e-postfrågan obligatorisk och koppla om HubSpot i noden

Survio stängde av webhooken

Webhook URL misslyckades i 5 dagar i rad

Åtgärda orsaken och aktivera webhooken igen i Survio

Bra att veta

  • Survio skickar bara inlämnade svar, ett meddelande per svar, inom några sekunder. Ett formulär som stängs halvvägs skickas inte.

  • Inget skickas retroaktivt: inte svar inskickade innan webhooken fanns eller medan den var pausad.

  • En misslyckad leverans försöks upp till 8 gånger på cirka 27 timmar, och varje försök väntar högst 30 sekunder. Matchning på Response ID förhindrar dubbletter.

  • Misslyckas leveranser i 5 dagar i rad stänger Survio av webhooken och du behöver återaktivera den.

  • Pausar du en webhook behålls dess plats, raderar du den är det permanent.

  • Survio sparar ingen leveranshistorik i appen. Körningar-fliken i n8n är din logg.

  • Att skicka svar till webhooks drar inga extra svar från din plan.

Vill du att vi sätter upp det åt dig? På sidan Webhooks i Survio, klicka på Få hjälp av expert, berätta vad du vill ha gjort så bygger, testar och levererar vi en fungerande webhook åt dig.

Fick du svar på din fråga?