Какой вариант для вас?
Вариант A — простой, для всех: получайте каждый неудовлетворённый ответ анкеты прямо на вашу электронную почту.
Вариант B — для команд, использующих CRM: для каждого недовольного клиента автоматически создаётся задача на звонок в HubSpot, чтобы ваша команда связалась с ним в этот же день.
Когда клиент недоволен, первые часы определяют, останется ли он. С этой настройкой каждый низкий балл в вашей анкете быстро доходит до вас вместе с полным ответом и контактами клиента — так что вы сможете оперативно позвонить или написать, пока это важно.
Вот уведомление по электронной почте, которое вы будете получать за каждый неудовлетворённый ответ в варианте A:
А это задача на звонок, которую ваша команда получит в HubSpot в варианте B:
Как это работает. Survio отправляет каждый завершённый ответ на URL вебхука. Инструмент автоматизации (мы используем n8n в этом руководстве) получает эти данные, проверяет, недоволен ли клиент, и, если да — уведомляет вас по электронной почте или создаёт задачу в HubSpot. Удовлетворённые ответы игнорируются.
Впервые работаете с вебхуками в Survio? Начните со статьи Вебхуки: отправляйте ответы в другие инструменты в режиме реального времени, затем возвращайтесь сюда.
Что вы создадите
В обоих вариантах неудовлетворённый ответ — это оценка 1 или 2 из 5, либо вариант ответа «Скорее неудовлетворён(а)» или «Неудовлетворён(а)».
В двух словах | Вариант A: письмо на почту | Вариант B: задача в HubSpot |
Результат | Полный ответ поступает в вашу электронную почту | Создаётся задача на звонок на карточке контакта в HubSpot, к которой прикреплён весь ответ |
Инструменты | Survio, n8n, Gmail | Survio, n8n, HubSpot |
Лучше всего подходит | Владельцу, который самостоятельно работает с недовольными клиентами | Команде, работающей с клиентами в CRM |
Перед началом
Анкета Survio на платном тарифе. Вебхуки недоступны на плане Free, и для каждого тарифа действует лимит по числу вебхуков на анкету (см. статью о вебхуках).
Аккаунт n8n, n8n Cloud или самостоятельная установка.
Вариант A: аккаунт Gmail для уведомлений. Вариант B: аккаунт HubSpot.
В этом руководстве мы используем короткую анкету удовлетворённости клиента: стар-рейтинг, одиночный выбор «В целом, насколько вы удовлетворены?», вопрос «Как вы совершили покупку в этот раз?», открытый комментарий и необязательный вопрос про электронную почту.
Шаг 1 — убедитесь, что вы знаете, кто ответил
Зная, кто ответил, вы сможете связаться с клиентом, но это необязательно. Без этого в варианте A вы всё равно получаете неудовлетворённые ответы и видите, в чём была проблема — просто не узнаете, кто написал. Для варианта B обязательно нужен e-mail клиента, потому что HubSpot привязывает задачу к контакту.
Ответы в Survio анонимны, если вы не собираете контакт. Используйте один или несколько способов:
Необязательный вопрос о электронной почте в конце анкеты, например: «Оставьте ваш e-mail, если хотите получить обратную связь». Используйте тип вопроса Ответ по e-mail.
Пользовательские URL параметры с данными клиента. Перейдите в Сбор ответов → Пользовательские URL параметры, создайте параметры, такие как
emailиorder-id, и добавляйте их значения в ссылку для клиента, например в письме с подтверждением заказа. Имена параметров не могут содержать символ подчёркивания. См. Пользовательские URL параметры.Survio приглашения по электронной почте. Отправьте анкету клиентам через электронные приглашения Survio, и каждый ответ будет содержать e-mail адрес, на который отправлялось приглашение. Подробнее — в E-mail приглашения.
Шаг 2 — создайте вебхук в n8n
В n8n создайте новый workflow и добавьте узел Webhook в качестве триггера.
Установите HTTP Method на POST.
Перейдите на вкладку Production URL и скопируйте адрес.
Нажмите Publish. Production URL принимает данные только после публикации workflow.
Используйте Production URL, а не Test URL. Test URL работает только пока редактор ожидает тестовое событие, поэтому доставки Survio прекращаются, как только вы закрываете редактор. Survio пробует повторно доставить до суток, через 5 дней неудач вебхук отключается.
Шаг 3 — подключите анкету в Survio
Откройте анкету и перейдите в Сбор ответов.
В левой панели, под Автоматизация и интеграции, выберите Вебхуки и нажмите + Добавить вебхук.
Вставьте Production URL из n8n в Webhook URL и нажмите Сохранить вебхук. Вебхук активируется сразу.
Шаг 4 — отправьте тестовый ответ и найдите id вопросов
Откройте анкету по обычной ссылке и отдайте один полный ответ с низкой оценкой. Survio отправляет только полностью завершённые ответы, поэтому проходите до конца.
В n8n откройте вкладку Executions. Новый ответ поступит в течение нескольких секунд.
Откройте выполнение и щёлкните по узлу Webhook. Разверните
body, далееdata, далееanswers. Каждый ответ показывает свойquestion.id,labelиanswer.Запишите id вопроса с рейтингом, вопроса об удовлетворённости и вопроса о e-mail. Можно также нажать Pin, чтобы продолжить работу с этим ответом.
Где берётся e-mail клиента. data.email заполняется только если анкета отправлена через Survio приглашения по электронной почте. E-mail из вопроса анкеты уходит в его ответ, а из пользовательского URL параметра — в data.parameters. Готовые сценарии проверяют все три варианта.
Вариант A — получить e-mail за каждый неудовлетворённый ответ
После вебхука два шага: Недоволен? пропускает только неудовлетворённые ответы, Переслать ответ отправляет их вам по электронной почте.
Недоволен?
Добавьте после Webhook узел If и переименуйте его в
Недоволен?.Добавьте три условия и объедините их оператором ИЛИ, чтобы достаточно было любого:
Значение | Условие | Сравнить с |
| Число: меньше или равно | 2 |
| Строка: равно | Скорее неудовлетворён(а) |
| Строка: равно | Неудовлетворён(а) |
Замените 90403153 (рейтинг) и 90403151 (вопрос об удовлетворённости) на свои id. ?? 99 нужен, чтобы отсутствие оценки считалось за удовлетворённый ответ.
Текст ответов должен совпадать точно. Впишите варианты точно так, как они указаны в вашей анкете. Если опрос переведён на несколько языков, ответы поступают на языке респондента — проверьте тестовые ответы на каждом языке и добавьте эти варианты.
Переслать ответ
Добавьте Gmail на выход true из Недоволен?, назовите
Переслать ответи выберите Message и Send.Подключите ваш Gmail и в Кому укажите ваш адрес.
В Subject укажите
Недовольный клиент: {{ $json.body.data.answers.find(a => a.question.id === 90403153)?.answer ?? "?" }}/5.Поставьте Email Type — HTML. В Message выведите весь ответ. Шаблон ниже перечисляет вопросы с ответами, плюс время, заказ и контакт.
В разделе Options отключите Append n8n Attribution.
Выход false оставьте пустым: удовлетворённые ответы обрабатываться не будут. Не забудьте снова нажать Publish: изменения вступают в силу только после публикации.
Вариант B — создать задачу на звонок в HubSpot
В этом случае неудовлетворённый ответ становится задачей связаться с клиентом сегодня, на его карточке в HubSpot с полным ответом в задаче. Для поиска контакта в HubSpot нужен e-mail клиента, поэтому этот вариант подходит, если используете Survio приглашения по электронной почте или URL-параметр email (см. шаг 1).
Начните с того же узла Недоволен?, что и для варианта А, затем добавьте три шага на выходе true.
Подготовить задачу
Добавьте узел Edit Fields (Set) с именем Подготовить задачу со следующими строковыми полями. Замените id вопросов на свои, Europe/Prague — на свой часовой пояс.
Имя поля | Значение |
| |
Тема |
|
Текст | Оценка, удовлетворённость, канал, комментарий, заказ и время, разделённые |
Найти или создать контакт
Добавьте узел HubSpot с именем Найти или создать контакт, выберите ресурс Contact и действие Create or Update, подключите свой HubSpot аккаунт, email укажите как {{ $json['E-mail'] }}. Существующий клиент будет найден по e-mail, новый — создан.
Создать задачу на звонок
Добавьте ещё один узел HubSpot с именем
Создать задачу на звоноки выберите ресурс Engagement, действие Create и тип Task.Укажите Due Date как
{{ $now.endOf('day').toISO() }}, чтобы задача назначалась на сегодня.В Body укажите
{{ $('Prepare task').item.json.Body }}, For Object Type — Contact, Status — Not Started, Subject —{{ $('Prepare task').item.json.Subject }}.В разделе Engagement Properties → Associations укажите Contact IDs как
{{ $json.vid }}. Можно указать Owner ID, чтобы задание было назначено ответственному — иначе задачу надо будет распределить вручную в HubSpot.
После настройки снова нажмите Publish.
Контакт может быть автоматически привязан к компании. Если HubSpot найдёт компанию с тем же e-mail доменом, контакт автоматически свяжется с ней и как владелец может быть назначен владелец компании. Само задание уходит тому владельцу, которого укажете здесь.
Получить готовый шаблон сценария
Вместо пошагового создания воспользуйтесь готовым workflow. Скачайте нужный файл из приложенных к статье: survio-unhappy-responses-to-gmail.json для варианта A или survio-unhappy-responses-to-hubspot-tasks.json для варианта B. Далее:
В n8n создайте пустой workflow. В меню (три точки справа от названия) выберите Import → From file, выберите скачанный файл.
Откройте Недоволен? и замените id вопросов на свои.
Вариант A: откройте Переслать ответ, подключите Gmail, укажите свою почту, свои id и нужный часовой пояс.
Вариант B: откройте Подготовить задачу и замените id и часовой пояс. Затем подключите HubSpot в Найти или создать контакт и Создать задачу на звонок, укажите Owner ID для исполнителя, если нужно.
Откройте Survio Webhook, скопируйте Production URL в Survio (шаг 3) и нажмите Publish.
Проверьте работу end-to-end
Оставьте ответ с оценкой 2. Для варианта A письмо поступит за несколько секунд, для B задача появится на контакте в HubSpot.
Оставьте ответ с оценкой 5 и вариантом «Очень удовлетворён(а)». Ничего не произойдёт.
Посмотрите вкладку Executions в n8n. Оба события появятся; удовлетворённый ответ остановится на этапе Недоволен?.
Устранение неполадок
Симптом | Причина | Решение |
В n8n ничего не появляется | Сохранён Test URL в Survio либо workflow не опубликован | Скопируйте Production URL в Survio и нажмите Publish |
Survio не принимает вебхук с собственного n8n | n8n показывает внутренний адрес вместо публичного | Задайте в n8n параметр |
«Listen for test event» не показывает результат, хотя вы отправили анкету | Survio отправляет на Production URL, а слежение ведётся по Test URL | Проверьте вкладку Executions |
Ваши изменения не вступают в силу | Workflow опубликован, но изменения не опубликованы (на Publish точка) | Нажмите Publish ещё раз |
Письмо приходит по каждому ответу | Нода Gmail подключена к выходу false, либо условия связаны через AND | Подключите Gmail к true-выходу и используйте оператор OR |
Низкая оценка не отправляет письмо | Неправильный id вопроса либо текст ответа не совпадает | Проверьте id и тексты по пробному ответу во вкладке Executions |
В письме контакт «not given» | Анкета не была разослана Survio приглашением по электронной почте, или нет параметра | Используйте приглашения Survio, добавляйте параметры или сделайте вопрос по e-mail обязательным |
Вариант B: найти/создать контакт не удаётся | Нет e-mail, HubSpot не может найти или создать контакт | Используйте приглашения или параметр email в ссылке |
Задача в HubSpot отображается одной строкой | В поле Body обычные переносы строки | Разделяйте строки тегом |
Survio отключил вебхук | Вебхук не работал 5 дней подряд | Устраните причину и включите вебхук заново в Survio |
Что важно знать
Survio отправляет только завершённые ответы — по одному сообщению на ответ, в течение нескольких секунд. Незавершённые анкеты не отправляются.
Ничего не отправляется задним числом: ни ответы до создания вебхука, ни те, что пришли во время его паузы.
В случае ошибки попытка доставки повторяется до 8 раз примерно за 27 часов, на каждый запрос даётся до 30 секунд.
Если неудачи продолжаются 5 дней, Survio выключает вебхук — включите его вручную заново.
Пауза вебхука сохраняет его место, удаление — безвозвратно.
Survio не хранит историю доставок. Вся история в n8n, вкладка Executions.
Передача ответов через вебхуки не расходует лимит ответов вашего тарифа.
Хотите, чтобы мы всё настроили? На странице «Вебхуки» в Survio нажмите Получить помощь эксперта, опишите вашу задачу, и наша команда настроит, протестирует и передаст вам рабочий вебхук.
