К основному содержимому

Рост — каждый лид сразу оказывается в вашем CRM: отправьте заявки на демо Survio в таблицу или HubSpot

Превратите форму Survio в источник новых лидов: каждая заявка на демо превращается в строку Google Таблиц с мгновенным email-уведомлением для Вас или автоматически создаёт новый контакт в HubSpot. Используйте n8n и готовые сценарии автоматизации.

Автор: Success Team Survio

Какой способ лучше подойдет вам?

Вариант A — максимально просто: каждая заявка на демо поступает в Google Таблицы, которые вы используете в качестве CRM, и приходит письмо.

Вариант B — для тех, кто работает с CRM: каждая заявка становится лидом в HubSpot, чтобы ваша команда продаж могла сразу обработать её.

Посетитель заполняет форму заявки на демо, и всего через несколько секунд лид появляется у вас в CRM. Для малого бизнеса — в Google Таблицах появляется новая строка и приходит письмо, на которое можно сразу ответить; для отделов продаж — создается контакт в HubSpot. В обоих случаях вы можете связаться с лидом, пока он еще на вашем сайте.
​

Такое письмо вы будете получать при каждой новой заявке на демо в варианте A:
​

New demo request e-mail in Gmail


​

А вот так выглядит новый контакт в HubSpot для варианта B:
​

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

Как это работает. Survio отправляет каждый заполненный ответ на URL Вебхуки. Автоматизационный сервис (в этом руководстве используется n8n) принимает его и добавляет лида туда, где вы работаете. Survio отвечает за отправку, всё остальное выполняет n8n.

Если вы впервые работаете с Вебхуки в Survio, начните с инструкции Вебхуки: отправка ответов в другие инструменты в реальном времени, а затем возвращайтесь к этому руководству.
​

Что вы создадите

Оба варианта начинаются одинаково: короткая форма для заявки на демо на вашем сайте, отправляемая через Вебхуки в n8n.

Общая информация

Вариант A: таблица как ваш CRM

Вариант B: HubSpot

Результат

Каждая заявка — новая строка в Google Таблице со столбцом "Статус" плюс вы сразу получаете письмо

Каждая заявка становится новым контактом в HubSpot CRM для вашей команды продаж

Инструменты

Survio, n8n, Google Таблицы, Gmail

Survio, n8n, HubSpot

Лучше всего подходит

Малому бизнесу, который сам управляет лидами

Отделу продаж, который работает в HubSpot

Перед началом

  • Анкета Survio на платном тарифе. Вебхуки недоступны на Free-плане. Каждый тариф включает лимит Вебхуки на одну анкету (см. статью о вебхуках).

  • Аккаунт n8n — используйте n8n Cloud или своё серверное решение.

  • Вариант A: аккаунт Google для доступа к Google Таблицам и Gmail. Вариант B: аккаунт HubSpot.

В этом руководстве показан пример минимальной формы на демо: имя, рабочий e-mail (e-mail вопрос), компания, размер команды (вопрос с выбором) и необязательный вопрос "Что вы хотели бы увидеть на демо?". Ваша форма может отличаться; свои вопросы вы сопоставите на соответствующем шаге в варианте A или B.
​

Шаг 1 — разместите форму на сайте

  1. Откройте нужную Анкета, перейдите в Сбор ответов и выберите В интернете.

  2. Выберите Popup окно и настройте время его появления. Для краткой формы рекомендуем включить Скрыть главную страницу, чтобы первый Вопрос сразу был виден посетителю.

  3. Нажмите Вставить на сайт и добавьте код на ваш ресурс.

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

Другие способы вставки — например, кнопка или боковой виджет — описаны в статье Вставка анкеты на сайт.
​

Шаг 2 — только для варианта A: подготовьте лист лидов

  1. Создайте новую таблицу в Google и переименуйте первый лист в leads.

  2. В первой строке укажите названия столбцов: Response ID, Received, Name, E-mail, Company, Team size, What they want to see, Status, Language.

  3. Выделите ячейки под заголовком столбца Status, выберите Вставка → Выпадающий список, добавьте варианты New, Contacted и Done (через Добавить вариант) и нажмите Готово.

Теперь у вас лист — простейшая CRM. Новые лиды отмечаются как New. Связались — переводите в Contacted, завершено или отклонено — в Done. Фильтруйте по "Статусу", чтобы всегда видеть, кому еще требуется ответить.

Шаг 3 — создайте Вебхуки в n8n

  1. В n8n начните новый рабочий процесс и добавьте узел Вебхуки как триггер.

  2. Установите HTTP Method в POST.

  3. Откройте вкладку Production URL и скопируйте этот адрес.

  4. Нажмите Опубликовать. Production URL заработает только после публикации процесса.

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

Используйте Production URL, а не Test URL. Test URL работает только пока открыт редактор и ожидается тестовое событие — поэтому данные из Survio перестают попадать, когда вы его закроете. Survio повторяет недоставленные отправки примерно в течение суток, а если 5 дней подряд не удаётся отправить данные, Вебхуки отключается.

Шаг 4 — подключите Анкета в Survio

  1. Откройте нужную Анкета и перейдите на вкладку Сбор ответов.

  2. В левой панели, в разделе Автоматизации и интеграции выберите Вебхуки, затем нажмите + Добавить вебхук.

  3. Вставьте Production URL n8n в поле Webhook URL и нажмите Сохранить вебхук. Вебхуки сразу станет активным.

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


​

Шаг 5 — отправьте тестовую заявку и определите id ваших Вопрос

  1. Заполните Анкета по обычной ссылке и отправьте её — Survio отправит только полностью заполненный Ответ, пройдите все вопросы до конца.

  2. В n8n откройте вкладку Выполнения. Данные обычно поступают в течение нескольких секунд.

  3. Откройте выполненное задание и выберите узел Вебхуки. Раскройте body, затем data и answers. У каждого Ответ будет свой question.id, label и answer.

  4. Запишите id каждого Вопрос. Можно воспользоваться функцией Pin, чтобы не повторять заполнение для теста.

Webhook node output in n8n with a demo request

Ориентируйтесь по question id. Ответ приходят списком — если добавить или удалить Вопрос, порядок изменится, а id останутся теми же.

E-mail лида только в Ответ. Не используйте data.email: если e-mail запрошен отдельным Вопрос — это поле будет пустым. Получайте e-mail из Ответ на соответствующий вопрос Анкета.

Вариант A — Google Таблицы как CRM + e-mail

Рабочий процесс включает три шага после получения Вебхуки: Подготовить лида — выбрать данные из сообщения, Сохранить лида в таблицу — записывает строку, Уведомить по e-mail — отправляет вам письмо.
​

Подготовить лида

  1. После Вебхуки добавьте узел Изменить поля (Set) и назовите его Подготовить лида.

  2. В Поля для изменения добавьте по полю для каждого столбца таблицы (как строка). Названия должны точно совпадать с заголовками столбцов, значения задаются соответствующими выражениями ниже.

  3. Замените id Вопрос (например, 90403243) на свои, а Europe/Prague — на свой часовой пояс.

Имя поля

Значение

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 (текстовое поле, не выражение)

Language

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

Prepare lead node in n8n with Fields to Set

Сохранить лида в таблицу

  1. Добавьте после "Подготовить лида" узел Google Таблицы, назовите его Сохранить лида в таблицу и выберите действие Добавить или обновить строку.

  2. Подключите свой Google-аккаунт, затем выберите нужную таблицу в поле Документ и вкладку leads в поле Лист.

  3. Поставьте Режим сопоставления столбцов на Автоматически и Столбец для сопоставления — Response ID.

  4. В Настройках выберите Формат ячейки и установите Пусть n8n форматирует — так Google Sheets не воспримет числовые диапазоны (например, 2-10) как даты.

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

Почему требуется отдельный шаг подготовки? При смене таблицы или листа в узле Google Таблиц внутренние сопоставления могут сбиться. Всё, что в "Подготовить лида" — сохранится.

Уведомить по e-mail о новом лиде

  1. Добавьте после узла "Сохранить лида в таблицу" узел Gmail, назовите как Уведомить о новом лиде по e-mail, выберите Message и Send.

  2. Подключите Gmail и пропишите адрес получателя в Кому.

  3. Для Темы используйте New demo request: {{ $('Prepare lead').item.json.Name }} ({{ $('Prepare lead').item.json.Company }}).

  4. Письмо сформируйте в HTML, используйте переменные из данных по лиду, например {{ $('Prepare lead').item.json['E-mail'] }} для e-mail.

  5. В Настройках добавьте Ответить на с {{ $('Prepare lead').item.json['E-mail'] }}, чтобы ваш ответ ушел сразу лиду, и отключите Присоединять n8n Attribution.

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

Не забудьте снова нажать Опубликовать. Все изменения вступят в силу после публикации.

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

Отправьте еще одну пробную заявку. В таблице появится новая строка со статусом New, а письмо поступит вам на почту через несколько секунд.

The leads tab in Google Sheets with a Status dropdown


​

Вариант B — отправка заявок на демо в HubSpot

При таком решении лид сразу превращается в контакт HubSpot CRM со статусом Lead, а ваша команда продаж работает с ним в привычном интерфейсе. Процесс состоит из двух шагов: Подготовить лида и Создать или обновить контакт.

Подготовить лида

Добавьте после Вебхуки узел Изменить поля (Set), назовите его Подготовить лида и добавьте ниже перечисленные поля типа String. Замените id Вопрос на свои.

Имя поля

Значение

E-mail

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

First name

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

Last name

{{ ($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 ?? "" }}

Message

Demo request from Survio. Team size: {{ $json.body.data.answers.find(a => a.question.id === 90403247)?.answer?.labels?.[0] }}. Wants to see: {{ $json.body.data.answers.find(a => a.question.id === 90403244)?.answer }}

First name и Last name здесь берутся из одного поля "Ваше имя". Если у вас имя и фамилия собираются как отдельные Вопрос — используйте их id.
​

Создать или обновить контакт

  1. Добавьте после "Подготовить лида" узел HubSpot, назовите его Создать или обновить контакт, выберите ресурс Контакт и действие Создать или обновить.

  2. Авторизуйтесь со своим аккаунтом HubSpot.

  3. Укажите E-mail как {{ $json['E-mail'] }}. HubSpot ищет совпадения среди существующих контактов по e-mail — поэтому повторные заявки обновят профиль, а не задвоят контакт.

  4. В Contact Properties нажмите Добавить свойство, добавьте First Name, Last Name, Company Name, Message, укажите Lifecycle Stage Name or ID как Lead. Все поля возьмите из шага "Подготовить лида".

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

Снова нажмите Опубликовать.

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

Контакт может автоматически связаться с компанией. Если в HubSpot есть компания с таким же e-mail доменом, контакт будет привязан к ней, и владельцем станет тот же пользователь, что у компании. Это удобно для B2B; проверьте на тестовой заявке.

Получите готовый сценарий

Не хотите собирать шаги вручную? Возьмите готовый шаблон. Скачайте файл из вложений к этой статье: survio-demo-requests-to-sheet-and-gmail.json — для варианта A, survio-demo-requests-to-hubspot.json — для B. Далее:

  1. В n8n создайте новый пустой процесс, в меню (три точки рядом с названием) выберите Импорт → Из файла и укажите скачанный файл.

  2. Откройте Подготовить лида, укажите свои id Вопрос и, для варианта A, задайте свой часовой пояс вместо Europe/Prague.

  3. Вариант A: в узле Сохранить лида в таблицу (он сначала будет отображаться красным) — подключите свой Google-аккаунт, выберите таблицу и вкладку leads. n8n переключит Режим сопоставления на ручной — верните на Автоматически и проверьте Столбец для сопоставления — Response ID. В Уведомить о новом лиде по e-mail подключите Gmail и впишите свой e-mail.

  4. Вариант B: в Создать или обновить контакт подключите HubSpot-аккаунт.

  5. В Вебхуки Survio скопируйте Production URL в Survio (см. шаг 4) и нажмите Опубликовать.

n8n workflow menu with Import and From file

Проверьте всю цепочку

  1. Откройте ваш сайт, заполните popup-форму и отправьте заявку.

  2. Вариант A: убедитесь, что строка со статусом New появилась на вкладке leads и что письмо дошло до вас. Попробуйте ответить на него — адресатом должен стать сам лид.

  3. Вариант B: в HubSpot проверьте, что контакт создан со статусом Lead и корректно подтянулась вся информация по демо.

  4. Во вкладке Выполнения n8n просмотрите все приёмы и текущее состояние.

Если что-то не работает

Симптом

Причина

Что делать

Нет данных в n8n

В Survio вставлен Test URL или процесс не опубликован

Вставьте Production URL в Survio и нажмите Опубликовать

Survio не принимает URL Вебхуки с вашего n8n

n8n показывает внутренний адрес вместо публичного

Настройте в n8n внешний https-адрес WEBHOOK_URL и скопируйте ссылку заново

"Ожидание тестового события" ничего не ловит после отправки формы

Survio отправляет на Production URL, а тестируется Test URL

Смотрите все доставки на вкладке Выполнения

Последние изменения не работают

Появилась кнопка Publish c точкой — изменения ещё не опубликованы

Нажмите Publish повторно

Пустой столбец, а в таблице появился новый столбец в конце

Имя поля в "Подготовить лида" не совпадает с заголовком столбца

Переименуйте поле в "Подготовить лида" так, чтобы совпадало, и удалите лишний столбец

Один и тот же лид появляется дважды

Использовано Просто добавить строку или не указан столбец для сравнения

Используйте Добавить или обновить строку по Response ID

Ответы приходят к вам, а не к лиду

В Gmail не заполнено поле "Ответить на"

Добавьте e-mail лида в поле "Ответить на"

Размер команды отображается как дата

Google Sheets считает 2-10 датой

В "Сохранить лида в таблицу" выберите "Пусть n8n форматирует"

Нет e-mail адреса

Пытаетесь читать из data.email

Читайте e-mail из Ответ на Вопрос

Контакт не создается или не обновляется

E-mail пустой или некорректный, либо HubSpot-авторизация просрочена

Сделайте e-mail обязательным, переподключите HubSpot

Survio отключил Вебхуки

URL Вебхуки не отвечает 5 дней подряд

Исправьте причину, затем включите Вебхуки заново в Survio

Полезно знать

  • Survio отправляет только завершённые Ответ — одно сообщение на каждый, и в течение нескольких секунд. Если Анкета закрыта до конца, данные не отправятся.

  • Никакие Ответ не отправляются задним числом: ни полученные до создания Вебхуки, ни во время паузы.

  • При неудачной доставке отправка повторяется до 8 раз (~27 часов), максимум ожидания — 30 секунд. Сопоставление по Response ID предотвращает дубли при повторных отправках.

  • Если ни одна из отправок не удаётся в течение 5 дней, Survio отключает Вебхуки — его нужно будет активировать заново.

  • Пауза Вебхуки сохраняет слот; при удалении — освобождается безвозвратно.

  • Survio не хранит историю отправок внутри сервиса. Просмотреть все доставки можно только во вкладке Выполнения n8n.

  • Отправка через Вебхуки не расходует лимит Ответ вашего тарифного плана.

Хотите, чтобы всё было настроено нашими экспертами? На странице Вебхуки в Survio нажмите Получить настройку от эксперта, опишите вашу задачу — мы сделаем интеграцию, проверим всё и передадим вам рабочий Вебхуки.

Нашли ответ на свой вопрос?