Вы пишете агенту одно сообщение: «Собери бота: /start → приветствие с кнопкой подписки на канал → вопрос с 3 кнопками → для каждой своя цепочка из 2 сообщений с задержкой 1 день → финал с регистрацией на вебинар. Залей в бота и опубликуй». Через минуту в вашем Telegram-боте работает воронка прогрева к вебинару: подписчик нажимает /start, получает приветствие, сегментируется по кнопке, получает свою цепочку сообщений с задержками и в конце регистрируется на эфир, а заявка падает в amoCRM.
Это не конструктор, где вы вручную таскаете блоки. Это сервис Zaytsv /bots плюс MCP-сервер zaytsv-mcp: вы описываете автоворонку для вебинара словами, а ИИ-агент (Claude и другие) сам собирает граф и публикует его. Ниже — разбор того же сквозного примера: текстовое ТЗ агенту целиком и то, что происходит под капотом.
Что строим
Цель воронки прогрева — довести холодного подписчика бота до регистрации на вебинар и не растерять его по дороге. Схема такая:
- Триггер /start — точка входа. Сюда приходят все: из рекламы, из поста в канале, по реф-ссылке с UTM.
- Приветствие + кнопка подписки на канал. Первым делом просим подписаться на канал — это и прогрев, и фильтр.
- Вопрос с 3 кнопками — сегментация: «бизнес», «эксперт», «просто смотрю». Ответ сохраняется в переменную, по нему дальше расходятся ветки.
- Три цепочки прогрева. Под каждый сегмент — своя цепочка из 2 сообщений с задержкой 1 день между ними. Контент бьёт точно по интересу: бизнесу — про деньги, эксперту — про методологию, зрителю — мягкий разогрев.
- Финал — регистрация на вебинар. Вопрос-контакт, сбор заявки, действия в CRM, напоминание по расписанию под дату эфира.
Получается классический прогрев, но без ручной сборки блоков и без отдельного редактора.
Промпт агенту
Вот текстовое ТЗ, которое вы отдаёте агенту. Можно копировать и адаптировать:
Собери воронку прогрева к вебинару для моего Telegram-бота и опубликуй.
- Триггер — /start.
- Приветственное сообщение с фото-обложкой вебинара и inline-кнопкой «Подписаться на канал» (URL на канал, пометь её для трекинга клика).
- Дальше — вопрос с 3 кнопками: «Для бизнеса», «Я эксперт», «Просто смотрю». Ответ сохрани в переменную
segment.- Для каждого варианта — своя цепочка из 2 сообщений с задержкой 1 день между ними:
– бизнес: кейс по выручке → приглашение на эфир;
– эксперт: разбор методологии → приглашение на эфир;
– просто смотрю: лёгкий вводный пост → приглашение на эфир.- Финал для всех веток — регистрация: вопрос «Оставьте контакт для напоминания», сохрани ответ, добавь метку
webinar_registeredи отправь заявку в amoCRM и в Google Таблицу.- За день до эфира по расписанию (точная дата и время, Europe/Moscow) пришли напоминание всем, у кого есть метка
webinar_registered.Перед публикацией прогони dry-run по /start и почини, если что-то не сходится.
Дальше агент работает сам. Токен для подключения MCP вы заранее берёте на zaytsv.ru/bots/mcp-tokens — это разовая настройка.
Что агент делает под капотом
Получив ТЗ, агент не пишет код руками — он собирает валидный граф формата zaytsv-bot-graph и заливает его через инструмент import_funnel. Порядок такой:
- Создаёт граф воронки.
- Заливает узлы: триггер /start, сообщения с медиа и кнопками, узел-вопрос, задержки (DELAY), расписание (SCHEDULE), условия-ветвления и действия (ACTIONS).
- Прогоняет dry-run по сценарию
/start— это сухой прогон без реальной отправки. Он проверяет, что от триггера достижимы все ветки и финал, что переменные подставляются, а кнопки ведут куда нужно. - Публикует граф.
Перед этим срабатывает локальная проверка — скилл build-bot-funnel валидирует структуру ещё до заливки, а dry_run страхует уже на стороне сервиса. Если на каком-то узле ошибка, агент видит её по коду и узлу, чинит конкретное место и повторяет — вам не нужно расшифровывать стек-трейсы.
Если в воронке есть условие «подписан на канал», агент сначала вызывает list_channels, чтобы получить chatId нужного канала, и подставляет его в условие. Так что узел проверки подписки получает реальный идентификатор, а не заглушку.
Сегментация и условия
Сегментация — сердце прогрева, и здесь работает связка «кнопки → метки → ветки».
Кнопки и переменные. Узел-вопрос с тремя кнопками ждёт ответ и сохраняет его в переменную. Дальше условие-ветвление читает эту переменную (или поставленную метку) и разводит подписчиков по трём цепочкам. Каждая цепочка — отдельная ветка графа.
Условие-ветвление умеет проверять не только метку и переменную. В арсенале:
- UTM — пришёл из конкретной рекламной кампании? Покажем релевантный оффер.
- Подписка на канал (SUBSCRIBED) — подписался по кнопке в приветствии или нет. Не подписавшихся можно увести в отдельную ветку и дожать.
- Клик по кнопке — URL-кнопки помечаются для трекинга, и по факту клика можно ветвить.
- Текущая дата / день недели — например, после даты эфира перестать звать на регистрацию.
Расписание под дату вебинара. Задержка (DELAY) держит паузу между сообщениями цепочки — те самые «1 день». А расписание (SCHEDULE) привязывает отправку к точной дате и времени в таймзоне Europe/Moscow. Именно SCHEDULE отвечает за напоминание «за день до эфира»: вы задаёте дату вебинара, и бот разошлёт напоминание ровно тогда, когда нужно, всем с меткой webinar_registered.
Сбор заявок
Прогрев без сбора заявок — это просто рассылка. В финале каждой ветки стоит узел-вопрос «Оставьте контакт для напоминания»: он ждёт ответ и сохраняет его в переменную. Это и есть точка конверсии.
Дальше подключаются действия — ACTIONS. Они умеют:
- отправить заявку в amoCRM;
- передать данные в GetCourse;
- записать строку в Google Таблицы;
- проставить метку (например,
webinar_registered), по которой потом сработает напоминание по расписанию.
В нашем примере контакт уходит сразу в amoCRM и в Google Таблицу, а на пользователе ставится метка регистрации. CRM получает лида в момент, когда человек реально готов прийти на эфир, а таблица остаётся резервной копией и материалом для аналитики. Никакого ручного экспорта — заявки текут в системы автоматически, пока вы спите.
FAQ
Нужно ли уметь программировать, чтобы собрать такую воронку?
Нет. Вы описываете автоворонку словами, агент собирает граф и публикует его сам. Технические детали — узлы, ветки, dry-run — остаются под капотом.
Что если агент ошибётся при сборке?
Перед публикацией идёт локальная проверка скиллом build-bot-funnel и dry_run по /start. Если узел не сходится, агент видит ошибку по коду и узлу, чинит конкретное место и повторяет заливку.
Как привязать напоминание к дате эфира?
Через узел расписания (SCHEDULE) — он отправляет сообщение в точную дату и время по Europe/Moscow. Достаточно указать дату вебинара в ТЗ агенту.
Куда попадут собранные заявки?
Куда настроите в действиях (ACTIONS): amoCRM, GetCourse, Google Таблицы — плюс метка на пользователе. Можно использовать несколько приёмников одновременно.
Вывод
Воронка прогрева к вебинару, которую раньше собирали днями в визуальном редакторе, теперь описывается одним промптом: сегментация по кнопкам, цепочки с задержками, напоминание по расписанию под дату эфира и выгрузка лидов в CRM — всё это агент соберёт и опубликует за вас. Возьмите токен на zaytsv.ru/bots/mcp-tokens, опишите свою воронку словами и запустите первого бота на zaytsv.ru/bots.



Комментарии (0)