Który przypadek jest dla Ciebie?
Przypadek A – prosty dla każdego: każda niezadowolona odpowiedź z ankiety trafia bezpośrednio do Ciebie przez powiadomienie e-mailowe o wypełnieniu ankiety.
Przypadek B – dla zespołów korzystających z CRM: każdy niezadowolony klient automatycznie dostaje zadanie kontaktu w HubSpot, więc Twój zespół może się skontaktować tego samego dnia.
Kiedy klient jest niezadowolony, liczą się pierwsze godziny – wtedy możesz go jeszcze zatrzymać. Dzięki tej konfiguracji każda niska ocena w Twojej ankiecie Survio dochodzi do Ciebie w kilka sekund, z całą odpowiedzią i kontaktem klienta, więc możesz zadzwonić lub odpisać, póki to ma znaczenie.
Tak wygląda powiadomienie e-mailowe o wypełnieniu ankiety, które otrzymasz za każdą niezadowoloną odpowiedź w Przypadku A:
A tak wygląda zadanie kontaktu, które Twój zespół dostaje w HubSpot w Przypadku B:
Jak to działa. Survio wysyła każdą ukończoną odpowiedź na adres webhook. Narzędzie automatyzacji (w tym poradniku to n8n) odbiera ją, sprawdza, czy klient jest niezadowolony i – jeśli tak – wysyła powiadomienie e-mailowe o wypełnieniu ankiety lub tworzy zadanie w HubSpot. Zadowolone odpowiedzi są pomijane.
Pierwszy raz używasz webhooków w Survio? Zacznij od Webhooks: wysyłaj odpowiedzi do innych narzędzi w czasie rzeczywistym, a potem wróć tutaj.
Co zbudujesz
W obu przypadkach niezadowolona odpowiedź to: ocena 1 lub 2 na 5 lub odpowiedź Raczej niezadowolony albo Niezadowolony.
W skrócie | Przypadek A: powiadomienie e-mailowe o wypełnieniu ankiety do Ciebie | Przypadek B: zadanie w HubSpot |
Efekt | Cała odpowiedź trafia na Twoją skrzynkę przez powiadomienie e-mailowe o wypełnieniu ankiety | Zadanie kontaktu na dziś przy kliencie w HubSpot, z całą odpowiedzią |
Narzędzia | Survio, n8n, Gmail | Survio, n8n, HubSpot |
Najlepsze dla | Właściciela, który sam obsługuje niezadowolonych klientów | Zespołu, który śledzi klientów w CRM |
Zanim zaczniesz
Ankieta Survio na płatnym planie. Webhooki nie są dostępne w planie Free, a każdy plan pozwala na określoną liczbę webhooków na ankietę (zobacz artykuł o webhookach).
Konto n8n w chmurze lub samodzielne.
Przypadek A: konto Gmail do powiadomień. Przypadek B: konto HubSpot.
W tym poradniku korzystamy z krótkiej ankiety satysfakcji klienta: ocena gwiazdkowa, pytanie zamknięte „Ogólnie, jak bardzo jesteś zadowolony?”, pytanie „Jak zrobiłeś u nas zakupy tym razem?”, otwarty komentarz i opcjonalne pytanie o e-mail.
Krok 1 — Upewnij się, że wiesz, kto odpowiedział
Znajomość tego, kto odpowiedział, pozwala się skontaktować z klientem, ale nie jest to wymagane. Bez tego Przypadek A i tak wysyła każdą niezadowoloną odpowiedź, więc zobaczysz, co poszło nie tak – po prostu nie będziesz wiedzieć, kto ją napisał. Przypadek B wymaga e-maila klienta, ponieważ HubSpot przypisuje zadanie do kontaktu.
Odpowiedzi w Survio są anonimowe, dopóki nie zbierzesz kontaktu. Skorzystaj z jednej lub kilku metod:
Opcjonalne pytanie o e-mail na końcu ankiety, na przykład „Podaj swój e-mail, jeśli chcesz, żebyśmy się z Tobą skontaktowali”. Wybierz typ pytania Odpowiedź e-mail.
Niestandardowe parametry URL z własnymi danymi klienta. Przejdź do Zbieranie odpowiedzi → Niestandardowe parametry URL, utwórz parametry takie jak
emailiorder-id, wpisz ich wartości do linku, który wysyłasz każdemu klientowi, na przykład w mailu potwierdzającym zamówienie. Nazwy parametrów nie mogą zawierać podkreślników. Zobacz Niestandardowe parametry URL.Zaproszenie e-mail z Survio. Wyślij ankietę klientom z Zaproszenia e-mail Survio, a każda odpowiedź będzie powiązana z adresem, na który ją wysłałeś(-aś). Zobacz Zaproszenie e-mail.
Krok 2 — Utwórz webhook w n8n
W n8n utwórz nowy workflow i dodaj node Webhook jako trigger.
Ustaw HTTP Method na POST.
Przejdź do zakładki Production URL i skopiuj adres.
Kliknij Publish. Production URL zacznie odbierać zgłoszenia dopiero po opublikowaniu workflow.
Używaj Production URL zamiast Test URL. Test URL czeka tylko podczas otwartej edycji w trybie testowym, więc Survio nie wyśle danych, kiedy edytor jest zamknięty. Survio ponawia próby przez ok. dzień, a po 5 dniach niepowodzeń wyłącza webhook.
Krok 3 — Podłącz ankietę w Survio
Otwórz swoją ankietę i przejdź do Zbieranie odpowiedzi.
W menu po lewej, pod Automatyzacje i Integracje, wybierz Webhooks i kliknij + Dodaj webhook.
Wklej Production URL z n8n do pola Webhook URL i kliknij Zapisz webhook. Webhook jest aktywowany natychmiast.
Krok 4 — Wyślij odpowiedź testową i znajdź id pytań
Otwórz ankietę swoim zwykłym linkiem i wypełnij ją do końca, zaznaczając niską ocenę. Survio wysyła tylko kompletne odpowiedzi.
W n8n otwórz zakładkę Executions. Powiadomienie pojawi się po kilku sekundach.
Otwórz wykonanie, kliknij node Webhook, rozwiń
body, potemdata, potemanswers. Każda odpowiedź pokaże swojequestion.id,labelpytania ianswer.Zanotuj id pytań: o ocenę, zadowolenie i e-mail. Możesz kliknąć Pin, by oprzeć kolejne kroki na tej odpowiedzi.
Skąd pochodzi e-mail klienta. data.email jest wypełnione tylko, gdy wysyłasz ankietę przez Zaproszenie e-mail. E-mail z pytania trafia do odpowiedzi, a z parametru URL do data.parameters. Gotowe workflow sprawdzają wszystkie trzy.
Przypadek A — Otrzymuj powiadomienie e-mailowe o wypełnieniu ankiety za każdą niezadowoloną odpowiedź
Za webhookiem są dwa kroki: Niezadowolony? przepuszcza tylko niezadowolone odpowiedzi, a Przekaż odpowiedź przesyła je do Ciebie powiadomieniem e-mailowym o wypełnieniu ankiety.
Niezadowolony?
Dodaj node If po node Webhook i nazwij go
Niezadowolony?.Ustaw trzy warunki połączone przez LUB – wystarczy, że spełniony zostanie jeden:
Wartość | Warunek | Porównaj z |
| Liczba: mniejsza lub równa | 2 |
| Tekst: równy | Raczej niezadowolony |
| Tekst: równy | Niezadowolony |
Wstaw swoje id pytań (90403153 = ocena, 90403151 = zadowolenie). Część ?? 99 sprawia, że brak oceny traktujemy jako zadowolenie.
Teksty odpowiedzi muszą się zgadzać co do litery. Skopiuj opcje dokładnie jak w ankiecie. Jeśli masz kilka wersji językowych, odpowiedź będzie w języku użytym przez respondenta, więc sprawdź odpowiedzi testowe dla każdej wersji i uwzględnij to w warunkach.
Przekaż odpowiedź
Dodaj node Gmail do wyjścia true node Niezadowolony?, nazwij go
Przekaż odpowiedźi wybierz Wiadomość oraz Wyślij.Połącz konto Gmail i wpisz swój adres w polu Do.
Ustaw Tytuł na
Niezadowolony klient: {{ $json.body.data.answers.find(a => a.question.id === 90403153)?.answer ?? "?" }}/5.Dla Typu maila wybierz HTML. W Wiadomości umieść całą odpowiedź. Gotowy workflow wylistuje każde pytanie, odpowiedź, czas, zamówienie i kontakt.
W Opcjach wyłącz Append n8n Attribution.
Wyjście „false” zostaw puste: zadowolone odpowiedzi kończą tam swój proces. Kliknij ponownie Publish – zmiany zaczynają działać, gdy workflow zostanie opublikowany.
Przypadek B — Twórz zadania kontaktu w HubSpot
Tutaj niezadowolona odpowiedź staje się zadaniem kontaktu na dzisiaj, przypisanym do klienta w HubSpot, z całą odpowiedzią w treści. HubSpot wymaga e-maila, by znaleźć kontakt, więc ta opcja najlepiej sprawdza się z Zaproszeniami e-mail Survio lub parametrem email z Kroku 1.
Zaczynasz od tego samego node Niezadowolony? co w Przypadku A, potem dodajesz kolejne trzy kroki na wyjściu true.
Przygotuj zadanie
Dodaj node Edit Fields (Set) o nazwie Przygotuj zadanie z poniższymi polami typu String. Wstaw własne id pytań, a strefę czasową zamień na swoją.
Nazwa pola | Wartość |
| |
Temat |
|
Treść | Ocena, zadowolenie, kanał, komentarz, zamówienie i czas – rozdziel |
Znajdź lub utwórz kontakt
Dodaj node HubSpot o nazwie Znajdź lub utwórz kontakt, wybierz zasób Kontakt i operację Utwórz lub zaktualizuj, połącz konto HubSpot i ustaw E-mail na {{ $json['E-mail'] }}. Istniejący klient zostanie wyszukany po mailu, a jeśli to nowy kontakt – zostanie utworzony.
Utwórz zadanie kontaktu
Dodaj kolejny node HubSpot o nazwie
Utwórz zadanie kontaktui wybierz zasób Engagement, operację Utwórz i typ Zadanie.Ustaw Data wykonania na
{{ $now.endOf('day').toISO() }}, więc zadanie będzie na dziś.Uzupełnij Treść
{{ $('Przygotuj zadanie').item.json.Treść }}, Dla typu obiektu Kontakt, Status Nie rozpoczęte oraz Temat{{ $('Przygotuj zadanie').item.json.Temat }}.W Engagement Properties → Associations ustaw Contact IDs na
{{ $json.vid }}. Opcjonalnie możesz wprowadzić Owner ID odpowiedzialnej osoby; bez niej zadanie nie ma właściciela i przypiszesz je w HubSpot.
Kliknij ponownie Publish.
Kontakt może zostać automatycznie powiązany z firmą. Jeśli HubSpot znajdzie firmę z tą samą domeną e-mail, przypisze do niej ten kontakt i może ustawić właściciela. Zadanie trafia do Owner ID, jeśli go wpiszesz.
Pobierz gotowy workflow
Zamiast budować krok 2 i swoją wersję od zera, zacznij od workflow poniżej. Pobierz plik dla swojego przypadku z załączników tego artykułu: survio-unhappy-responses-to-gmail.json dla Przypadku A lub survio-unhappy-responses-to-hubspot-tasks.json dla Przypadku B. Dalej:
W n8n utwórz pusty workflow. Kliknij menu (trzy kropki) obok jego nazwy i wybierz Importuj, potem Z pliku. Wskaż pobrany plik.
Otwórz Niezadowolony? i wstaw własne id pytań.
Przypadek A: otwórz Przekaż odpowiedź, połącz konto Gmail, wpisz swój adres oraz zamień id pytań i strefę czasową.
Przypadek B: otwórz Przygotuj zadanie i zamień id pytań oraz strefę czasową. Połącz konto HubSpot w Znajdź lub utwórz kontakt i Utwórz zadanie kontaktu, a w tym drugim możesz dodać Owner ID odpowiadającego.
Otwórz Webhook Survio, skopiuj Production URL do Survio (Krok 3) i kliknij Publish.
Przetestuj całość end-to-end
Prześlij odpowiedź z oceną 2. W Przypadku A powiadomienie e-mailowe o wypełnieniu ankiety dojdzie w kilka sekund, w Przypadku B zadanie pojawi się przy kontakcie w HubSpot.
Prześlij odpowiedź z oceną 5 i odpowiedzią Bardzo zadowolony. Nic się nie wydarzy.
Wejdź w zakładkę Executions w n8n. Obydwie dostawy się tam pojawią; zadowolona zakończy się na Niezadowolony?.
Rozwiązywanie problemów
Objaw | Przyczyna | Rozwiązanie |
Nic nie pojawia się w n8n | W Survio podany jest Test URL lub workflow nie jest opublikowany | Skopiuj Production URL do Survio i kliknij Publish |
Survio nie zapisuje webhooka z własnego n8n | n8n pokazuje lokalny adres, nie publiczny | Ustaw w n8n |
„Nasłuchiwanie na zdarzenie testowe” nie pokazuje nic, choć ankieta została wysłana | Survio wysyła na Production URL; nasłuchiwanie dotyczy Test URL | Sprawdź zakładkę Executions |
Ostatnia zmiana nic nie zmienia | Workflow jest opublikowany, ale zmiana nie (przycisk Publish z kropką) | Kliknij jeszcze raz Publish |
Każda odpowiedź wysyła powiadomienie e-mailowe o wypełnieniu ankiety | Node Gmail podłączony do wyjścia false, lub warunki połączone przez AND | Podłącz Gmail do wyjścia true i warunki ustaw na LUB |
Niska ocena nie wysyła powiadomienia e-mailowego o wypełnieniu ankiety | Błędne id pytania lub inne sformułowanie odpowiedzi | Sprawdź id i teksty w odpowiedziach testowych w zakładce Executions |
W powiadomieniu e-mailowym o wypełnieniu ankiety brak kontaktu | Ankieta nie została wysłana przez Zaproszenie e-mail Survio, brak parametru | Wyślij ankietę przez Zaproszenie e-mail, dodaj Niestandardowe parametry URL lub wyświetl pytanie o e-mail |
Znajdź lub utwórz kontakt nie działa w Przypadku B | Brakuje e-maila klienta, więc HubSpot nie utworzy/kontaktu | Wyślij ankietę przez Zaproszenie e-mail lub link z e-mailem w parametrze |
Zadanie w HubSpot jest w jednej linii | Treść zawiera zwykłe znaki nowej linii | Oddziel linie przez |
Survio wyłączyło webhook | Webhook nie działał przez 5 dni | Usuń przyczynę i włącz webhook ponownie w Survio |
Warto wiedzieć
Survio wysyła tylko kompletne odpowiedzi, każdą osobno, niemal natychmiast. Ankieta przerwana w połowie nie jest przesyłana.
Nic nie jest wysyłane wstecznie: nie dotyczy odpowiedzi sprzed uruchomienia webhooka ani w czasie jego wyłączenia.
Nieudana wysyłka jest ponawiana do 8 razy przez ok. 27 godzin, każda próba czeka do 30 sekund.
Jeśli przez 5 dni z rzędu dostarczanie się nie powiedzie, Survio wyłącza webhook – musisz go włączyć ponownie.
Wstrzymanie webhooka zachowuje slot; usunięcie jest trwałe.
Survio nie prowadzi historii dostaw w aplikacji. Twój log to zakładka Executions w n8n.
Wysyłanie odpowiedzi do webhooków nie zużywa dodatkowych odpowiedzi z Twojego planu.
Wolisz, żebyśmy zrobili to za Ciebie? Na stronie Webhooks w Survio kliknij Uzyskaj pomoc eksperta, napisz, co chcesz osiągnąć, a nasz zespół przygotuje, przetestuje i przekaże gotowy webhook.
