← Вернуться в Hub

NPS-бот — Техническое Задание

Опрос клиентов после закрытия сделки через виджет WhatCRM. Ручной запуск.

📍 Контекст, Запуск и Кастомные Поля

Сценарий 1 Лицензии и Обучение

Суть: Клиент купил лицензию и прошел базовое обучение.
Триггер запуска: Менеджер вручную вызывает в чате WhatCRM бота: /NPS Обучение

Вопросы бота: Скорость + Понятность обучения

Сценарий 2 Внедрение под ключ

Суть: Клиенту настроили систему под ключ.
Триггер запуска: Менеджер вручную вызывает в чате WhatCRM бота: /NPS Внедрение

Вопросы бота: Скорость + Качество настройки + Понятность обучения

💡 Важное изменение: Каналы и Идентификация услуги (Тема оценки)

Опросы отправляются только через реальные источники переписки с клиентом (личный Telegram или WhatsApp через виджет WhatCRM). Никаких сторонних выделенных ботов по ссылке — это гарантирует максимальную конверсию ответов.

Так как запуск ручной, система должна понимать тему оценки (за какую услугу мы берем отзыв). Поэтому вместо привязки к автоматической смене этапа, мы создаем две разные команды вызова Salesbot в чате. Менеджер сам решает, какую анкету отправить.

📋 Кастомные поля в amoCRM (Группа: «NPS / Обратная связь»)

Необходимо создать следующие поля на уровне Сделки:

Название поля в amoCRMТипОписаниеШкала оценок
NPS: СкоростьЧислоОценка клиентом скорости презентации, обучения или внедрения.0 (Плохо) — 3 (Отлично)
NPS: Качество настройкиЧислоОценка клиентом технической корректности настройки системы (только Сценарий 2).0 (Плохо) — 3 (Отлично)
NPS: Понятность обученияЧислоОценка клиентом понятности объяснений и готовности работать в системе.0 (Плохо) — 3 (Отлично)
NPS: Комментарий менеджераТекстПримечание от менеджера/РОПа по результатам разбора оценки.Текст
🗺️ Дорожная карта (Roadmap)

Этап 1: Подготовка amoCRM Менеджер + Интегратор amoCRM

Создать 3 числовых кастомных поля NPS в сделках. Настроить 2 шаблона/бота Salesbot для вызова через слеш-команды в чате (/NPS Обучение и /NPS Внедрение).

Этап 2: Интеграция Webhook Интегратор amoCRM

Внутри каждого Salesbot добавить HTTP-запрос (Webhook) на n8n с передачей ID сделки и типа сценария ("training" или "implementation").

Этап 3: Разработка n8n сценария Интегратор n8n

Webhook Trigger → Чтение данных из сделки → Формирование строки → Отправка в Google Sheets.

Этап 4: Google Sheet "NPS" Интегратор n8n

Создать отдельный лист «NPS» в существующей KPI-таблице. n8n пишет строку при каждом завершённом опросе.

Этап 5: Алерты РОПу Интегратор n8n

IF-нода: если оценка ≤ 1 — мгновенный Telegram-алерт с данными сделки и ссылкой на чат.

Этап 6: Тестирование и запуск Все

Ручной запуск менеджером бота в тестовом диалоге. Проверка заполнения полей в amoCRM и записи в Google Sheet. Корректировка текстов.

💬 Сценарии работы бота (Полностью через Salesbot)

Сценарий 1 — Вызов командой /NPS Обучение

Шаг 1: Установка Типа

Salesbot устанавливает поле NPS: Тип = Обучение

Вопрос 1 (Включает приветствие)

Здравствуйте, {contact.name} ! Нам важно ваше мнение о проведенном обучении — это займёт 1 минуту. Пожалуйста, ответьте на 2 коротких вопроса 👇
1️⃣ Насколько быстро мы реагировали на ваши вопросы в процессе? Отправьте цифру:
0 - Плохо 😞
1 - Среднее 😐
2 - Хорошо 🙂
3 - Отлично 😍

(Сохраняется в NPS: Скорость)
2️⃣ Насколько понятно прошло само обучение? Отправьте цифру от 0 до 3:
0 - Плохо 😞
1 - Среднее 😐
2 - Хорошо 🙂
3 - Отлично 😍
(Сохраняется в NPS: Качество)

Сценарий 2 — Вызов командой /NPS Внедрение

Шаг 1: Установка Типа

Salesbot устанавливает поле NPS: Тип = Внедрения

Вопрос 1 (Включает приветствие)

Здравствуйте, [Имя контакта]!
Настройка вашего аккаунта amoCRM завершена ✅
Ответьте на 2 коротких вопроса — это займёт 1 минуту 👇
1️⃣ Насколько быстро было выполнено внедрение?
😞 0 - Плохо
😐 1 - Среднее
🙂 2 - Хорошо
😍 3 - Отлично

(Сохраняется в NPS: Скорость)
2️⃣ Всё ли в системе работает так, как вы ожидали?
😞 0 - Плохо
😐 1 - Среднее
🙂 2 - Хорошо
😍 3 - Отлично
(Сохраняется в NPS: Качество)

Сценарий 3 — Вызов командой /NPS Презентация

Шаг 1: Установка Типа

Salesbot устанавливает поле NPS: Тип = Презентация

Вопрос 1 (Включает приветствие)

Здравствуйте, [Имя контакта]!
Спасибо за уделенное время на презентации!
Оцените нашу работу 👇
1️⃣ Насколько быстро менеджер назначил и провел встречу?
😞 0 - Плохо
😐 1 - Среднее
🙂 2 - Хорошо
😍 3 - Отлично

(Сохраняется в NPS: Скорость)
2️⃣ Насколько качественно и понятно была проведена презентация?
😞 0 - Плохо
😐 1 - Среднее
🙂 2 - Хорошо
😍 3 - Отлично
(Сохраняется в NPS: Качество)

Финальное сообщение (оба сценария)

Спасибо за ваши ответы! 🙏 Если у вас есть замечания или предложения, которые вы хотите направить напрямую руководству — вы можете оставить их здесь: 👉 https://forms.gle/H843ifbYPqiXQYbo9

⚙️ Архитектура n8n и Salesbot

Схема потока данных

Менеджер пишет в чате /NPS Внедрение
    ↓
amoCRM Salesbot запускается и задает клиенту вопросы прямо в чате
    ↓
Клиент отвечает (нажатием кнопок или цифрами)
    ↓
amoCRM Salesbot сохраняет ответы в кастомные поля Сделки (NPS: Тип, NPS: Скорость, NPS: Качество)
    ↓
amoCRM Salesbot завершает опрос и отправляет Webhook в n8n
    ↓
n8n: Webhook Trigger → Получает данные об оценках (lead_id, nps_type)
    ↓
n8n: amoCRM Get Lead → Получает Скорость, Качество, Бюджет и ID Ответственного
    ↓
n8n: amoCRM Get User → Получает Имя менеджера по его ID
    ↓
n8n: Google Sheets → Добавляет строку в лист «NPS» (со всеми обогащенными данными)
    ↓
n8n: IF (любая оценка ≤ 1)
    └── Telegram → Алерт РОПу (Бот @amoCRM_ROP)

Структура листа «NPS» в Google Sheets

A: ДатаB: Lead IDC: Название сделкиD: БюджетE: ОтветственныйF: Тип NPSG: СкоростьH: КачествоI: Коммент. менеджера
25.06.202612663149Внедрение AmoCRM для Сырной500000NuraliОбучение12

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

⚠️ Архитектурные особенности и подводные камни
💬

Канал связи: Salesbot

Опрос проводится строго в том же диалоге, где шло общение менеджера с клиентом через функционал Salesbot в amoCRM. n8n не отправляет сообщения напрямую клиенту.
Важно: Salesbot должен корректно ожидать ответ от клиента (step: Wait for reply).

🔁

История оценок при повторных продажах (Решено)

Проблема: Если клиент покупает услуги повторно, новые оценки могут стереть старые.
Решение: Все поля NPS создаются исключительно на уровне Сделки (Lead). Так как при каждой покупке создается новая сделка, оценки сохраняются локально. В Google Sheets n8n дописывает каждую оценку новой строкой, формируя полную хронологическую историю лояльности.

🛡️

Защита от двойного запуска опросов

Если менеджер случайно вызовет бота дважды подряд в одной сделке, n8n перед запуском первого вопроса проверит, заполнены ли поля NPS в amoCRM. Если хотя бы одно поле заполнено — опрос будет проигнорирован.

Тайм-аут ожидания ответа клиента

В настройках Salesbot необходимо задать условие: если клиент не ответил в течение 48 часов, бот переходит к завершению и пишет в поля значение "Не ответил", после чего отправляет Webhook в n8n.

Уточняющие вопросы к бизнесу
  • Названия команд вызова: Утверждаем ли команды /NPS Обучение и /NPS Внедрение для меню Salesbot в виджете WhatCRM?
  • Ссылка на форму жалоб: Подготовлена ли Google Форма для недовольных клиентов (которую бот шлет в финальном сообщении)?
  • Уведомления РОПа: У кого из руководителей нужно собирать низкие оценки в Telegram? (Нужно прописать chat_id).
Чек-лист задач

Менеджер / РОП

  • Создать Google Форму «Жалобы и предложения»
  • Передать ссылку на форму интегратору
  • Утвердить тексты вопросов и команд вызова бота

Интегратор amoCRM

  • Создать поля в сделках: NPS: Тип (список), NPS: Скорость, NPS: Качество
  • Создать Salesbot'ов для команд (/NPS Обучение, /NPS Внедрение, /NPS Презентация)
  • В каждом боте настроить логику установки "Типа", вопросов, сохранение ответов и ожидание
  • В конце бота добавить HTTP-запрос (Webhook) на URL n8n с финальными данными

Интегратор n8n (ВЫПОЛНЕНО ✅)

  • Webhook Trigger (прием итоговых данных)
  • Запись строки в Google Sheet «NPS» (с обогащением из сделки)
  • IF алерт РОПу если оценка ≤ 1 (Бот @amoCRM_ROP)
🚀 Статус внедрения: Успешно завершено ✅

Система NPS полностью функционирует в боевом режиме

Все этапы от сбора данных Salesbot в amoCRM до финальной обработки в n8n реализованы и работают без сбоев.

Что было сделано:

  1. Сбор данных в amoCRM: Настроены Salesbot'ы с командами, которые сохраняют оценки клиента в поля Сделки и отправляют финальный Webhook.
  2. Обогащение данных (n8n): Сценарий n8n не просто получает оценки, а делает обратные запросы в amoCRM по API для загрузки Названия сделки, Бюджета и Имени ответственного менеджера.
  3. Google Sheets: В таблице "KPI", на листе "NPS", настроено полное логирование (Дата, Название сделки, Бюджет, Ответственный, Lead ID, NPS Тип, Скорость, Качество).
  4. Telegram-алерты: Бот @amoCRM_ROP моментально присылает уведомления РОПу при любой оценке ≤ 1.