Mihin tämä sopii?
Tapaus A – yksinkertainen, kaikille: yksi kaavio vastauksistasi, joka päivittyy jokaisen uuden vastauksen myötä.
Tapaus B – tiimeille, jotka vertaavat ryhmiä: Pivot-taulukko, jota voit suodattaa esimerkiksi kanavan, kielen tai minkä tahansa muun sarakkeen mukaan.
Jokainen vastaus, jonka kyselysi kerää, tallentuu uutena rivinä Google Sheetiin heti, kun se on lähetetty. Rakenna kaavio tai Pivot-taulukko vain kerran, ja raporttisi pysyy ajan tasalla itsestään: ei vientiä, ei kopiointia, ei odottelua, että joku laatii luvut.
Tämä on tapaus A:n raportti: kaavio, joka päivittyy jokaisen uuden vastauksen myötä:
Ja tämä on tapaus B:n Pivot-taulukko, suodatettuna kanavan mukaan viipaleella:
Näin tämä toimii. Survio lähettää jokaisen täytetyn vastauksen webhook-osoitteeseen. Automaatiotyökalu (tässä ohjeessa n8n) vastaanottaa sen ja kirjoittaa yhden rivin Sheetiin. Survio hoitaa lähetyksen, n8n kirjoittamisen ja Google Sheets raportoinnin.
Oletko uusi Survion webhookien käyttäjä? Aloita ohjeella Webhooks: lähetä vastaukset muihin työkaluihin reaaliajassa ja palaa sitten tähän.
Mitä rakennat
Molempia raportteja syöttää sama asetelma: jokainen täytetty vastaus on uusi rivi välilehdellä responses.
Yhdellä silmäyksellä | Tapaus A: yksi kaavio | Tapaus B: raportti segmenteittäin |
Tulos | Kaavio, joka näyttää vastausten jakautumisen ja päivittyy jokaisen uuden vastauksen jälkeen | Pivot-taulukko, jota voit suodattaa esimerkiksi kanavan, kielen tai muun sarakkeen mukaan |
Työkalut | Survio, n8n, Google Sheets | Survio, n8n, Google Sheets (Pivot-taulukko ja viipale) |
Paras käyttö | Pienyritykselle, joka haluaa yhden yksinkertaisen kaavion joka on aina ajan tasalla | Tiimille, joka vertailee ryhmiä, esimerkiksi verkkokauppa- ja myymäläasiakkaita |
Ennen kuin aloitat
Survio-kysely maksullisella tilauksella. Webhookit eivät ole käytettävissä Free-tilauksessa, ja jokainen tilaus rajaa webhooksien määrän per kysely (ks. webhook-ohjeesta).
n8n-tili, n8n Cloud tai omalla palvelimella.
Google-tili Google Sheetsiä varten.
Tässä ohjeessa käytämme esimerkkinä lyhyttä asiakastyytyväisyyskyselyä: tähtiarviointi, valintakysymys "Kuinka tyytyväinen olet kokonaisuutena?", valintakysymys "Miten asioit tällä kertaa?", avoin kommentti ja vapaaehtoinen sähköposti. Kyselysi voi olla erilainen – yhdistät siellä omat kysymykset kohdassa 5.
Vaihe 1 — Valmistele Sheet
Luo uusi Google Sheet ja nimeä ensimmäinen välilehti
responses.Kirjoita riville 1 sarakkeiden otsikot. Käytämme:
Response ID,Submitted,Rating (1-5),Satisfaction,Channel,What could we do better,E-mail,Order ID,LanguagejaSource.
Pidä Response ID ensimmäisenä sarakkeena. Se on Survion yksilöllinen tunniste jokaiselle vastaukselle. n8n käyttää sitä rivin päivittämiseen eikä lisää tuplaa, jos toimitus toistuu.
Vaihe 2 — Luo webhook n8n:ään
n8n:ssä luo uusi työnkulku ja lisää Webhook-solmu liipaisimeksi.
Aseta HTTP Method asetukseen POST.
Siirry Production URL -välilehdelle ja kopioi osoite.
Klikkaa Julkaise. Production URL ottaa vastaan toimitukset vasta, kun työnkulku on julkaistu.
Käytä Production URL:ia, älä Test URL:ia. Test URL kuuntelee vain silloin kun editori odottaa testitapausta, joten Survion toimitukset epäonnistuvat heti, kun sen suljet. Survio yrittää epäonnistunutta lähetystä noin päivän ajan ja viiden päivän epäonnistumisten jälkeen webhook kytkeytyy pois päältä.
Vaihe 3 — Yhdistä kysely Survioon
Avaa kyselysi ja siirry Kerää vastauksia.
Vasemman sivupalkin Automaatio & Integraatiot -kohdasta valitse Webhooks ja klikkaa + Lisää webhook.
Liitä n8n Production URL kohtaan Webhook URL ja klikkaa Tallenna webhook. Webhook aktivoidaan suoraan.
Vaihe 4 — Lähetä testivastaus ja selvitä kysymysten id-tunnukset
Avaa kyselysi normaalin linkin kautta ja lähetä yksi täytetty vastaus. Survio lähettää ainoastaan täytetyt vastaukset, joten klikkaa loppuun asti.
n8n:ssä avaa Suoritukset-välilehti. Toimitus tulee muutamassa sekunnissa.
Avaa suoritus ja klikkaa Webhook-solmua. Laajenna
body, sittendata, sittenanswers. Jokainen vastaus näyttääquestion.id,labeljaanswer.Kirjaa jokaisen tarvittavan kysymyksen id tunnus ylös. Voit myös klikata Pin pitääksesi tämän vastauksen testidatana.
Valitse aina vastaukset kysymyksen id:n mukaan. Vastaukset saapuvat listana. Jos lisäät kysymyksen, järjestys muuttuu ja sarakkeet menevät väärin, jos et käytä id-tunnuksia. Kysymyksen id ei koskaan muutu.
Etsitkö vastaajan sähköpostia? Älä käytä data.email – se jää tyhjäksi, jos sähköposti on sähköpostikysymyksenä tai parametrina. Lue sähköposti omasta sähköpostikysymyksestä tai data.parameters -kohdasta.
Vaihe 5 — Muunna jokainen vastaus riviksi
Tässä tarvitaan kaksi solmua: Rivin valmistelu (Prepare row) poimii vastaukset ja Tallenna vastaus sheetiin (Save response to sheet) kirjoittaa ne Google Sheetiin.
Rivin valmistelu
Lisää Webhookin jälkeen Edit Fields (Set) -solmu ja nimeä se
Prepare row.Kohdassa Fields to Set lisää jokaiseen sheetin sarakkeeseen kenttä, tyyppi String. Kentän nimi täytyy olla täsmälleen sama kuin sarakeotsikko. Arvoksi laita alla oleva lauseke.
Korvaa kysymysten id:t (90403153 jne.) niillä, jotka kirjoitit kohdassa 4, ja Europe/Prague omalla aikavyöhykkeelläsi.
Kentän nimi | Arvo |
Response ID |
|
Submitted |
|
Rating (1-5) |
|
Satisfaction |
|
Channel |
|
What could we do better |
|
| |
Order ID |
|
Language |
|
Source |
|
Tallenna vastaus Sheetiin
Lisää Google Sheets -solmu Prepare row:n jälkeen, nimeä se
Save response to sheetja valitse toiminnoksi Lisää tai päivitä rivi (Append or Update Row).Yhdistä Google-tilisi ja valitse spreadsheet kohdassa Document (listasta tai liittämällä ID By ID -kohtaan) ja välilehdeksi
responsesSheet-kohtaan.Aseta Mapping Column Mode arvoon Map Automatically ja Column to match on kohtaan Response ID.
Miksi erillinen Prepare row -solmu? Jos vaihdat sheetiä tai välilehteä Google Sheets -solmussa, n8n tyhjentää kenttien mapituksen sieltä. Kun kentät tehdään Prepare row:ssa, mitään ei katoa – Google Sheets -solmussa yhdistetään vain nimet kenttiin.
Klikkaa taas Julkaise. Muutokset tulevat voimaan vasta julkaistessa uudelleen.
Lisätietoja lausekkeista:
Valintakysymykset tulevat muodossa
{ ids, labels, value }.labels[0]on valitun vaihtoehdon teksti. Jos kyseessä on monivalintakysymys, käytälabels.join(', '), jotta kaikki valinnat näkyvät yhdessä solussa.valueon käyttäjän kirjoittama "Muu"-vaihtoehto.Aika tulee UTC-ajassa. Submitted-lauseke muuntaa sen aikavyöhykkeellesi ja Google Sheets käsittelee sen päivämääränä ja kellonaikana, joita voi lajitella ja ryhmitellä.
URL-parametrit, joissa on väliviiva nimessä, kuten
order-id, täytyy hakea muodossaparameters['order-id']. Survio ei salli alaviivaa parametrin nimessä.Kyselyn nimeä ei lähetetä Surviosta. Jos useampi kysely kirjoittaa samaan Sheetiin, lisää sarake nimellä Survey ja lisää Survey-kenttä Prepare row -solmuun kyselyn nimeä varten.
Lähetä uusi vastaus, niin uusi rivi ilmestyy sheetiin muutamassa sekunnissa.
Tapaus A — Kaavio vastauksista
Lisää välilehti nimellä
report.Kirjoita soluun A1
Satisfactionja soluun B1Responses. Soluihin A2–A6 listaa vastausvaihtoehdot täsmälleen kuten kyselyssä.B2:een syötä
=COUNTIF(responses!D:D,A2)ja kopioi alas B6:een.Valitse A1:B6 ja valitse Lisää → Kaavio. Google Sheets ehdottaa pylväskaaviota. Jos haluat muuttaa otsikkoa, mene Muokkaa → Kaavion ja akselin otsikot.
Jokainen uusi vastaus lisää rivin responses-välilehdelle, ja lukemat sekä kaavio päivittyvät automaattisesti, kuten tämän ohjeen alun kaaviossa.
Tapaus B — Vertaa ryhmiä Pivot-taulukolla
Valitse
responses-välilehti, merkitse taulukko ja valitse Lisää → Pivot-taulukko, sitten Uusi välilehti.Lisää Rivit -kohtaan Satisfaction. Arvot -kohdasta valitse Response ID ja muuta yhteenvedoksi COUNTA.
Valitse Data → Lisää viipale ja valitse haluamasi arvot esimerkiksi Channel-sarakkeesta. Vahvista OK:lla. Näet samanlaisen Pivot-taulukon kuin tämän ohjeen alussa.
Voit rajata millä tahansa sarakkeella: Channel (oma kysymyksesi), Language (vastauskieli), Source (esim. suora linkki tai sähköpostikutsu) tai Order ID.
Viipaleen valintaa ei säilytetä seuraavaan kertaan. Kun tiedosto avataan uudestaan, viipale näyttää kaikki vaihtoehdot. Saat vakiosuodatuksen tallennettua valitsemalla oletuksena viipaleen asetuksista.
Hae valmis työnkulku
Voit rakentaa vaiheet 2 ja 5 itse tai aloittaa valmiista työnkulusta. Lataa tiedosto survio-responses-to-google-sheets.json tämän artikkelin liitteistä, sitten:
n8n:ssä luo tyhjä työnkulku. Avaa valikko (kolme pistettä) työnkulun nimen vierestä ja valitse Tuo, sitten Tiedostosta. Valitse lataamasi tiedosto.
Avaa Prepare row ja korvaa kysymysten id:t sekä aikavyöhyke omillasi.
Avaa Save response to sheet. Näet punaisen varoituksen kunnes asetukset on kunnossa. Yhdistä Google-tili, valitse spreadsheet ja välilehti
responses. n8n vaihtaa Mapping Column Mode:n Map Each Column Manually -tilaan: vaihda takaisin Map Automatically ja Column to match on:ksi Response ID.Avaa Survio Webhook, kopioi Production URL kohtaan Survio (vaihe 3) ja klikkaa Julkaise.
Testaa alusta loppuun
Lähetä vastaus kyselylinkin kautta. Rivi ilmestyy
responses-välilehdelle muutamassa sekunnissa.Varmista että Response ID täyttyy – se estää duplikaatit.
Tarkista n8n:n Suoritukset-välilehdeltä jokainen toimitus ja data.
Vianetsintä
Oire | Syy | Korjaus |
n8n ei saa mitään | Test URL on käytössä Surviossa tai työnkulkua ei ole julkaistu | Kopioi Production URL Survioon ja klikkaa Julkaise |
Survio ei hyväksy webhook-urlia itsehostatusta n8n:stä | n8n näyttää sisäisen osoitteen eikä julkista | Aseta n8n:n |
"Listen for test event" ei näytä mitään vaikka kysely on lähetetty | Survio lähettää Production URL:iin, kuuntelu odottaa Test URL:ia | Tarkista Suoritukset-välilehdeltä toimitukset |
Viimeisin muutos ei vaikuta | Työnkulku julkaistu, mutta muutoksia ei (Julkaise-painikkeessa piste) | Klikkaa Julkaise uudestaan |
Sama vastaus näkyy kahdesti | Toiminto asetettu vain lisää rivi eikä sarakkeita täsmäytetty | Käytä Lisää tai päivitä rivi ja täsmää Response ID |
Solu jää tyhjäksi, uusi sarake ilmestyy loppuun | Prepare rowssa kentän nimi ei vastaa sarakeotsikkoa | Nimeä kenttä täsmälleen kuten otsikko ja poista ylimääräinen sarake |
Solussa lukee [object Object] | Valintavastaus mapattu ilman | Käytä |
Sarakkeet täyttyvät väärin kyselyn muokkauksen jälkeen | Vastaukset poimittu järjestyksen perusteella | Poimi ne |
Sähköposti jää tyhjäksi | Poimittu | Lue sähköposti sähköpostikysymyksen vastauksesta tai URL-parametristä |
Ennen asetuksia lähetetyt vastaukset puuttuvat | Webhookit lähettävät vain niiden luomisen jälkeen tulleet vastaukset | Vie aiemmat vastaukset Surviosta ja liitä Sheetiin |
Survio kytki webhookin pois päältä | Webhook URL epäonnistui viisi päivää peräkkäin | Korjaa ongelma ja ota webhook käyttöön uudestaan Surviossa |
Hyvä tietää
Survio lähettää vain täytetyt vastaukset, yksi viesti per vastaus, muutaman sekunnin viiveellä.
Mikään ei lähetetä jälkikäteen: ei vastauksia ennen webhookin perustamista eikä pausettuna olleilta ajoilta.
Epäonnistunutta toimitusta yritetään enintään 8 kertaa noin 27 tunnin aikana ja jokainen yritys odottaa maksimissaan 30 sekuntia vastausta. Response ID:n käyttö estää duplikaatio-ongelmat.
Jos toimitus epäonnistuu viitenä peräkkäisenä päivänä, Survio poistaa webhookin käytöstä ja se pitää aktivoida uudelleen.
Webhookin pausoiminen säilyttää paikan; poistaminen on pysyvää.
Survio ei säilytä toimituslokia sovelluksessa. n8n:n Suoritukset-välilehti toimii lokeina.
Vastausten lähettäminen webhookiin ei vähennä vastaussaldoa tilauksestasi.
Haluatko että me hoidamme tämän puolestasi? Surviossa Webhooks-sivulla klikkaa Pyydä asiantuntija-asennusta, kerro toiveesi, ja tiimimme toteuttaa webhookin, testaa sen ja toimittaa käyttöösi.
