Migration Assistant Bot

Сценарный веб-чат для консультаций, заявок, покупки PDF-шаблонов и предоплаты услуг.

Роль

UX/Product Designer + System Analyst

Формат

веб-чат + интеграции

Зона ответственности

сценарии, user flows, UI веб-чата, edge cases, интеграции, документация

Conversational UXYooKassaBitrix24TelegramWebhooksAPIPaymentsCRM

Контекст

Бизнесу нужен был чат, который снижает нагрузку на менеджеров, помогает пользователю выбрать услугу или цифровой продукт, принимает оплату и передаёт целевые заявки в CRM.

Пользователь не всегда понимает, какая миграционная услуга ему нужна: консультация, патент, миграционная карта, шаблон документа, предоплата или заявка менеджеру.

консультация

подбор нужной услуги без лишней переписки

PDF-шаблон

быстрая покупка цифрового продукта

предоплата

резервирование услуги через оплату

заявка менеджеру

передача контекста в CRM и Telegram

fallback

перевод к живому сценарию при неясном запросе

Задача

Спроектировать чат-бота, который объединяет консультационные сценарии, покупку PDF-шаблонов, предоплату услуг, CRM-интеграцию, Telegram-уведомления и обработку ошибок.

Как я понял задачу

Я понял, что обычный свободный чат не решает задачу полностью. Пользователь может не знать, что спросить, а менеджер продолжит получать однотипные вопросы. Поэтому нужен сценарный интерфейс, который помогает выбрать направление, но не закрывает пользователя в жёстком квизе.

Пользователь не знает путь

Нужна подсказка, а не пустое поле ввода.

Менеджер получает повторы

Сценарии должны отсекать типовые вопросы.

Бизнесу нужен результат

Заявка, оплата, PDF или переход к менеджеру.

Какие варианты рассматривал

Вариант 1. Свободный чат

Плюс: можно написать любой вопрос. Минус: сложно вести пользователя к заявке и измерять сценарии.

Вариант 2. Жёсткий квиз

Плюс: структурированный путь. Минус: пользователь может застрять, если его вопрос не попал в сценарий.

Выбрал третий вариант.

Что сделал

Спроектировал сценарии:

онлайн-консультацияпокупка PDF-шаблоназаказ услугипредоплатаоставление заявкипереход к менеджеруfallback, если бот не понял запрос

Payment flow

01 создание платежа
02 confirmation_url
03 переход к оплате
04 webhook YooKassa
05 проверка payment_id
06 защита от повторной обработки
07 выдача PDF после подтверждения оплаты
08 создание лида в Bitrix24
09 Telegram-уведомление менеджеру

PDF выдаётся только после подтверждённой оплаты

Это защищает бизнес от неоплаченной выдачи цифрового продукта.

Дополнительно один payment_id обрабатывается только один раз, чтобы повторный webhook не создавал дубли в CRM и не отправлял повторные уведомления.

payment_created
waiting_for_confirmation
payment_succeeded → pdf_delivered
duplicate_webhook → ignored

UI и Figma

Chat UI

стартовый экран чатасообщения бота и пользователяполе вводасистемные сообщения

Scenario controls

сценарные кнопкинавигация “Назад”“Начать заново”CTA “Оставить заявку”

States

состояния кнопокошибкиloadingdisabledflow покупки PDF

UI-kit

компоненты веб-чатаcomponentsvariantsauto layoutdefaulthoverpressederror

Figma как система

Использовал components, variants, auto layout и состояния: default, hover, pressed, disabled, loading, error.

Как проверял

Проверка сценариев

01 Consultation selected — пользователь выбирает консультацию
02 Template selected — пользователь выбирает PDF-шаблон
03 Payment abandoned — пользователь не завершает оплату
04 Duplicate webhook — YooKassa присылает повторный webhook
05 CRM unavailable — Bitrix24 недоступен
06 Telegram unavailable — Telegram недоступен
07 Contacts missing — пользователь не оставил обязательные контакты
08 Fallback triggered — бот не понял запрос

Что проверял в логике

Для такого продукта я бы отдельно проверял бизнес-логику, поведение интеграций и точки отказа сценариев.

Платежи

  • создание payment_id
  • обновление статуса оплаты
  • контроль duplicate webhook

CRM

  • создание лида после целевого действия
  • передача контекста сценария
  • обработка недоступности Bitrix24

Уведомления

  • Telegram-уведомление менеджеру
  • не дублировать отправку
  • сохранять лог результата

Fallback и поля

  • что делать, если бот не понял запрос
  • какие контакты обязательны
  • когда переводить к менеджеру

Повторная обработка

  • один payment_id обрабатывается один раз
  • дубликаты не создают новые лиды
  • PDF не выдаётся повторно

Метрики

Я отслеживал:

chat_openscenario_selectedconsultation_startedtemplate_selectedpayment_createdpayment_succeededpdf_deliveredlead_createdmanager_requestedfallback_triggeredabandoned_paymenterror_paymenterror_crmerror_telegram

Результат

Было

пользователи задавали однотипные вопросы, могли путаться в услугах и не доходить до заявки или оплаты.

Стало

сценарный чат, который помогает выбрать действие, оформить заявку, оплатить услугу или PDF-продукт и передать контекст менеджеру.

Что бы развивал дальше · 11 | 12

аналитику популярных сценариевточки выхода из ветоксценарии автоподсказокулучшение fallback-ответовA/B-тест стартового экранаотдельный dashboard по заявкам и оплатам

Другие кейсы

Chat Leads

Lead management система для сайта с чат-виджетом, real-time оператором и админкой.

Подробнее

USIZE

Ecommerce-платформа для бренда женской одежды plus size.

Подробнее