К содержанию
TelegaFirst

Для AI-агентов: markdown этой страницы — /docs/mcp-playbooks.mdиндекс документации — /llms.txt

Сценарии и блоки для MCP-агента

Обновлено

Каталог типовых сценариев и блоков, из которых агент собирает систему. Тот же каталог отдают MCP-инструменты list_playbooks, get_playbook, list_blocks и get_block: они доступны на любом тарифе с MCP, а из данных бизнеса читают только его язык и только когда locale не передан. Сначала выберите сценарий, затем соберите его блоки в указанном порядке и сверьтесь с самопроверкой.

Сценарии

Вебинар или событие (webinar)

Регистрация на эфир → напоминания → эфир → предзаказ записи → для не купивших приглашение на консультацию.

Порядок сборки:

  1. bot_profile — По просьбе владельца: приветствие в профиле бота.

  2. chain_step — Входная цепочка (подарок, напоминание) и цепочки вокруг события: напоминания за сутки и за час, старт, после события.

  3. offer — Предзаказ записи с окном и полная цена после эфира.

  4. event — Событие: дата, часовой пояс, привязка цепочек, открытие регистрации.

  5. booking — Онлайн-запись на консультацию для тех, кто не купил.

  6. kb_prepared — Заготовки: ответы на вопросы про эфир и запись.

  7. site_page — Страница регистрации с кнопкой на вход цепочки.

Ветвления:

  • Купил предзаказ — выдача после эфира; не купил за окно — приглашение на консультацию.

  • Не пришёл на эфир (no_show) — отдельная цепочка с записью.

Чем заканчивается:

  • Регистрация на событие.

  • Оплата (предзаказ или запись).

  • Запись на консультацию.

Типичные ошибки:

  • Не создавайте шаги из системных сообщений платформы («Оплата прошла», статусы заказа), реплик покупателя и ответов AI: платформа рисует их сама.

  • Шаг без кнопки-перехода и без таймаута обрывает воронку. Назовите переход каждого шага явно; «сразу после предыдущего» после ветвления — тупик.

  • Ссылки на сайт, товар, запись и событие берите готовыми из ответов тулов; t.me/…?start= и ?startapp= руками не собирайте.

  • Регистрацию открывайте set_event_phase только после привязки всех цепочек.

Самопроверка:

  • Прочитайте шаги (list_chain_steps) и сверьте три оси на каждом: у шага есть путь дальше (кнопка-переход или таймаут timeout_next_step_seq) либо он финальный; у оффера есть timeout_condition; у шага с формой есть таймаут.

  • Прочитайте событие (get_event): время, часовой пояс и все привязки цепочек на месте.

Пример цепочки. Пример проходит проверку схемы шагов; тексты и числа замените своими.

  • gift · сообщение · вход — Подарок за регистрацию. кнопка «Занять место» → presale; таймаут 60 мин → nudge

  • nudge · сообщение — Напоминание. кнопка «Занять место» → presale; таймаут 1440 мин → presale

  • presale · оффер — Предзаказ записи. таймаут 30 мин (без покупки) → invite

  • invite · сообщение — Бесплатная консультация. финал: запись на время

Консультация (consultation)

Антивебинар → дожимы по таймаутам → квиз → ветки по сегментам → общее приглашение на консультацию → запись на время.

Порядок сборки:

  1. bot_profile — По просьбе владельца: описание бота под тему консультации.

  2. chain_step — Входная цепочка: антивебинар, дожимы, ветки и приглашение.

  3. crm_form — Форма квиза: поля и ветки по ответам.

  4. quiz — Выбор вида квиза и переходы веток в приглашение.

  5. booking — Ресурс, расписание, услуга «Консультация» и напоминания записи.

  6. kb_prepared — Заготовки: ответы на частые вопросы и возражения.

  7. site_page — Лендинг с кнопкой на вход цепочки.

Ветвления:

  • Квиз делит юзеров на «горячих», «тёплых» и «холодных»: у каждой ветки свой шаг, но все ведут в одно приглашение.

  • Не прошёл квиз — таймаут шага с формой ведёт его в «холодную» ветку.

Чем заканчивается:

  • Запись на время консультации.

Типичные ошибки:

  • Не создавайте шаги из системных сообщений платформы («Оплата прошла», статусы заказа), реплик покупателя и ответов AI: платформа рисует их сама.

  • Шаг без кнопки-перехода и без таймаута обрывает воронку. Назовите переход каждого шага явно; «сразу после предыдущего» после ветвления — тупик.

  • Ссылки на сайт, товар, запись и событие берите готовыми из ответов тулов; t.me/…?start= и ?startapp= руками не собирайте.

  • Ветки квиза без общего следующего шага: оффер или приглашение достанется только одной из них.

Самопроверка:

  • Прочитайте шаги (list_chain_steps) и сверьте три оси на каждом: у шага есть путь дальше (кнопка-переход или таймаут timeout_next_step_seq) либо он финальный; у оффера есть timeout_condition; у шага с формой есть таймаут.

  • Каждая ветка квиза в итоге ведёт в приглашение; site_form_declare читается обратно с variants и defaultStepSeqNum.

Пример цепочки. Пример проходит проверку схемы шагов; тексты и числа замените своими.

  • antiwebinar · сообщение · вход — Антивебинар. таймаут 1440 мин → nudge

  • nudge · сообщение — Дожим. кнопка «Пройти тест» → quiz; таймаут 1440 мин → quiz

  • quiz · форма — Короткий тест. ответы формы: hot → branch_hot, warm → branch_warm; остальные → branch_cold; таймаут 1440 мин → branch_cold

  • branch_hot · сообщение — Вам пора действовать. кнопка «Записаться» → pitch; таймаут 60 мин → pitch

  • branch_warm · сообщение — Нужен понятный план. кнопка «Записаться» → pitch; таймаут 60 мин → pitch

  • branch_cold · сообщение — Начнём с основ. кнопка «Разобрать вместе» → pitch; таймаут 1440 мин → pitch

  • pitch · сообщение — Приглашение на консультацию. таймаут 1440 мин → last_call

  • last_call · сообщение — Последнее напоминание. финал: запись на время

Трипвайер (tripwire)

Полезный материал → дожимы → квиз → ветки → недорогой оффер с окном «без покупки» → консультация для не купивших.

Порядок сборки:

  1. bot_profile — По просьбе владельца: описание бота под оффер.

  2. chain_step — Входная цепочка: материал, дожимы, ветки, оффер, приглашение.

  3. crm_form — Форма квиза: поля и ветки.

  4. quiz — Вид квиза и схождение веток в оффер.

  5. offer — Недорогой цифровой товар с автовыдачей и шаг оффера с окном.

  6. booking — Консультация для тех, кто не купил за окно.

  7. kb_prepared — Заготовки: ответы про оффер и выдачу.

  8. site_page — Страница с кнопкой на вход цепочки.

Ветвления:

  • Три ветки квиза сходятся в один оффер; ветка «холодных» получает материал с базой перед оффером.

  • Оффер: купил — выдача; не купил за окно — приглашение на консультацию.

Чем заканчивается:

  • Оплата трипвайера.

  • Запись на консультацию.

Типичные ошибки:

  • Не создавайте шаги из системных сообщений платформы («Оплата прошла», статусы заказа), реплик покупателя и ответов AI: платформа рисует их сама.

  • Шаг без кнопки-перехода и без таймаута обрывает воронку. Назовите переход каждого шага явно; «сразу после предыдущего» после ветвления — тупик.

  • Ссылки на сайт, товар, запись и событие берите готовыми из ответов тулов; t.me/…?start= и ?startapp= руками не собирайте.

  • Оффер без timeout_condition: после окна юзер получит следующий шаг даже после покупки.

Самопроверка:

  • Прочитайте шаги (list_chain_steps) и сверьте три оси на каждом: у шага есть путь дальше (кнопка-переход или таймаут timeout_next_step_seq) либо он финальный; у оффера есть timeout_condition; у шага с формой есть таймаут.

  • Прочитайте товар (get_catalog_item): цена, валюта и выдача на месте.

Пример цепочки. Пример проходит проверку схемы шагов; тексты и числа замените своими.

  • magnet · сообщение · вход — Полезный материал. таймаут 1440 мин → nudge

  • nudge · сообщение — Дожим. кнопка «Пройти тест» → quiz; таймаут 1440 мин → quiz

  • quiz · форма — Короткий тест. ответы формы: hot → branch_hot, warm → branch_warm; остальные → branch_cold; таймаут 1440 мин → branch_cold

  • branch_hot · сообщение — Вам пора действовать. кнопка «Показать» → offer; таймаут 60 мин → offer

  • branch_warm · сообщение — Нужен понятный план. кнопка «Показать» → offer; таймаут 60 мин → offer

  • branch_cold · сообщение — Начнём с основ. кнопка «Дальше» → offer; таймаут 1440 мин → offer

  • offer · оффер — Трипвайер. таймаут 30 мин (без покупки) → consult

  • consult · сообщение — Бесплатная консультация. финал: запись на время

Марафон (marathon)

Регистрация → предзаказ записи → несколько дней эфиров (по событию на день) → продажа записи → индивидуальный разбор.

Порядок сборки:

  1. bot_profile — По просьбе владельца: описание бота под марафон.

  2. chain_step — Входная цепочка и цепочки каждого дня: анонс, напоминания, после эфира.

  3. offer — Предзаказ записи и полная цена записи после марафона.

  4. event — Отдельное событие на каждый день со своими привязками.

  5. booking — Индивидуальный разбор после марафона.

  6. kb_prepared — Заготовки: расписание, доступ к записи, вопросы по дням.

  7. site_page — Страница марафона с кнопкой на вход цепочки.

Ветвления:

  • Купил предзаказ — выдача после эфира; не купил за окно — расписание марафона и приглашение на разбор.

Чем заканчивается:

  • Оплата предзаказа или записи.

  • Регистрация на события дней.

  • Запись на индивидуальный разбор.

Типичные ошибки:

  • Не создавайте шаги из системных сообщений платформы («Оплата прошла», статусы заказа), реплик покупателя и ответов AI: платформа рисует их сама.

  • Шаг без кнопки-перехода и без таймаута обрывает воронку. Назовите переход каждого шага явно; «сразу после предыдущего» после ветвления — тупик.

  • Ссылки на сайт, товар, запись и событие берите готовыми из ответов тулов; t.me/…?start= и ?startapp= руками не собирайте.

  • Один день — одно событие со своими моментами; не складывайте три эфира в одно событие.

Самопроверка:

  • Прочитайте шаги (list_chain_steps) и сверьте три оси на каждом: у шага есть путь дальше (кнопка-переход или таймаут timeout_next_step_seq) либо он финальный; у оффера есть timeout_condition; у шага с формой есть таймаут.

  • Для каждого дня прочитайте get_event: даты, часовой пояс и привязки цепочек.

Пример цепочки. Пример проходит проверку схемы шагов; тексты и числа замените своими.

  • gift · сообщение · вход — Подарок за регистрацию. кнопка «Занять место» → presale; таймаут 60 мин → presale

  • presale · оффер — Предзаказ записи. таймаут 30 мин (без покупки) → schedule

  • schedule · сообщение — Расписание марафона. таймаут 1440 мин → invite

  • invite · сообщение — Разбор после марафона. финал: запись на время

Блоки

Профиль бота (bot_profile)

Имя, About, Description («What can this bot do?») и картинка стартового экрана бота тенанта. Платформа сама профиль не меняет: только по вашему вызову и по просьбе владельца.

Инструменты по порядку вызова:

  1. get_bot_profile. Сначала прочитайте, что уже стоит.

  2. update_bot_profile. Передавайте только те поля, которые меняете.

Нужно от предыдущих блоков: bot_ready. Оставляет следующим блокам: ничего.

Настройки:

  • Лимиты Telegram: имя 64, About 120, Description 512 символов. Превышение возвращается ошибкой с именем поля и лимитом.

  • Тексты задаются отдельно для ru и en. Картинка и фото профиля идут через mediaRef; если метода нет, тул скажет, что поле меняется только в @BotFather.

Товар и оффер (offer)

Товар в каталоге с выдачей после оплаты и шаг цепочки «оффер»: предложение с окном в N минут. Окно закрывается условием «без покупки», а не просто временем.

Инструменты по порядку вызова:

  1. get_catalog. Не создавайте дубли: прочитайте каталог.

  2. get_payment_config. Валюта цены — по умолчанию из настроек оплаты.

  3. publish_entity — Поля: items. Элемент: targetTopic: catalog, config.title, prices, item_type.

  4. get_content_draft. Дождитесь published, затем возьмите номер товара.

  5. get_catalog_item — Поля: seq_id. Прочитайте товар и выдачу обратно.

  6. update_chain_step — Поля: chain_seq_num, step_seq_num. Шаг оффера: timeout_minutes, timeout_next_step_seq, timeout_condition.

Нужно от предыдущих блоков: steps. Оставляет следующим блокам: product.

Настройки:

  • Первая выдача товара без выдачи: элемент publish_entity с intent: INITIALIZE_DELIVERY и initializeTarget: {seqId: номер товара}; замена существующей — intent: REPLACE и replaceTarget.

  • Ось 3 на шаге оффера: timeout_condition: {kind: "no_paid_purchase_since_offer"} вместе с timeout_minutes и timeout_next_step_seq. Платная покупка внутри окна гасит таймер; без покупки юзер идёт на следующий шаг (чаще всего — приглашение на консультацию).

  • Кнопку «Купить» ведите на готовый buy_url товара, а не на собранную руками ссылку. Текст «Оплата прошла» и статусы заказа платформа рисует сама: шаги для них не создавайте.

Шаг цепочки (chain_step)

Одно сообщение автоворонки и три оси, по которым юзер идёт дальше: кнопка-переход, таймаут «не перешёл», таймаут «без покупки». Юзер может нажимать кнопки, а может не нажимать — воронка продвигает его в любом случае.

Инструменты по порядку вызова:

  1. list_message_chains. Прочитайте существующее, чтобы не плодить цепочки.

  2. create_message_chain — Поля: title

  3. create_chain_step — Поля: chain_seq_num, content. Сначала создайте все шаги с текстом, затем связывайте их.

  4. list_chain_steps — Поля: chain_seq_num. Возьмите номера шагов для переходов.

  5. update_chain_step — Поля: chain_seq_num, step_seq_num. Кнопки, таймауты, активность, TTL.

  6. get_chain_step — Поля: chain_seq_num, step_seq_num. Проверка после сборки.

Нужно от предыдущих блоков: bot_ready. Оставляет следующим блокам: chain, steps, entry_link.

Настройки:

  • Ось 1, кнопка-переход: deeplink_buttons: [{title, target_seq_num}]. После нажатия кнопки перехода гаснут: отправленная карточка не меняется.

  • Ось 2, таймаут «не перешёл»: timeout_minutes и timeout_next_step_seq. Через M минут без перехода платформа сама ведёт юзера на указанный шаг.

  • Ось 3, таймаут «без покупки»: timeout_condition: {kind: "no_paid_purchase_since_offer"} — для оффера и трипвайера (см. блок offer).

  • Автоудаление и таймаут — два независимых таймера. message_ttl_minutes: если юзер ничего не сделал с сообщением, убрать его через N минут; нажал кнопку или перешёл дальше — сообщение остаётся. Удалить через 10 минут и дожать через 20 допустимо: ограничения ttl >= timeout нет. delete_prev_if_unengaged убирает предыдущую карточку в момент таймаута, если реакции не было.

  • delay_minutes — задержка доставки шага после входа, а не таймаут. Шаг без кнопок и таймаута завершает цепочку.

  • Кнопки на товар, запись и событие подключайте после соответствующих блоков: возьмите их готовые адреса и вернитесь к update_chain_step.

  • Тестовый режим задержек: на проверке поставьте timeout_minutes: 1 и малые delay_minutes, посмотрите прохождение глазами, после «да» владельца верните боевые значения. Флага «ускоренный прогон» в платформе нет.

Квиз (quiz)

Вопросы, по ответам которых юзер попадает в одну из веток. Все ветки сходятся в следующий общий шаг (оффер или приглашение). Вид квиза выбирайте явно и согласуйте с владельцем.

Инструменты по порядку вызова:

  1. site_form_declare — Поля: zone, title. Виды (а) и (б): форма с variants и defaultStepSeqNum.

  2. create_chain_step — Поля: chain_seq_num, content. Шаги веток и вид (в): кнопки в боте.

  3. update_chain_step — Поля: chain_seq_num, step_seq_num. Таймаут шага с квизом и переходы веток в общий шаг.

Нужно от предыдущих блоков: steps. Оставляет следующим блокам: branches.

Настройки:

  • Вид (а): CRM-форма на штатной странице /f/{code}. Вид (б): своя страница или мини-приложение плюс официальный скрипт отправки, который возвращает site_form_declare. Вид (в): кнопки в боте — только для одного вопроса, подсчёт баллов кнопками не выражается.

  • Для (а) и (б): site_form_declare с variants (по одному на ветку, каждый ведёт на шаг ветки), defaultStepSeqNum для остальных ответов, funnelMode deterministic или ai_agent, managerFollowUp выключен по умолчанию.

  • Шаг с квизом получает ось 2 (timeout_minutes → шаг): тот, кто не прошёл тест, всё равно идёт дальше. Ветки обязаны сходиться; фраза «сразу после предыдущего» после ветвления не годится.

CRM-форма (crm_form)

Форма заявки или анкеты: поля, куда уходят ответы и куда форма ведёт юзера. Форма — это переход: ответы двигают живой прогон на нужный шаг.

Инструменты по порядку вызова:

  1. site_form_declare — Поля: zone, title. Единственный писатель форм; возвращает адрес и официальный скрипт отправки.

  2. pull_form_submissions. Прочитать заявки; текст ответов — только по явной просьбе.

  3. get_form_submission

  4. set_form_submission_handled

Нужно от предыдущих блоков: steps. Оставляет следующим блокам: form.

Настройки:

  • submissionSchema — поля; variants — ветки по ответам, каждая ведёт на шаг цепочки; defaultStepSeqNum — шаг для всех остальных ответов; funnelMode: none, deterministic (правила формы) или ai_agent.

  • managerFollowUp по умолчанию выключен: включайте, только если владелец просит, чтобы менеджер связался с заполнившим.

  • Форма двигает прогон, только если задан следующий шаг. Незаполнение ловит обычный таймаут шага с формой: отдельного «таймаута формы» нет.

Заготовка базы знаний (kb_prepared)

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

Инструменты по порядку вызова:

  1. create_chain_step — Поля: chain_seq_num, content. Заготовка — это шаг цепочки с готовым контентом.

  2. list_chain_steps — Поля: chain_seq_num. Возьмите номера шагов-заготовок.

  3. create_knowledge — Поля: kb_type, title, content. Привяжите заготовки через prepared_step_seq_nums.

  4. list_knowledge

  5. update_knowledge

Нужно от предыдущих блоков: steps. Оставляет следующим блокам: knowledge.

Настройки:

  • Два режима одной сущности. (а) Отдельное сообщение: шаг активен, контент жив, задержки нет — менеджер шлёт его одним сообщением. (б) Вход в цепочку: менеджер шлёт стартовое сообщение, и запускается вся цепочка.

  • Не заводите «служебную цепочку» с is_active: false: неактивный шаг менеджер отправить не сможет.

  • Для каждой темы: заголовок, ответ, теги. Тяжёлый файл загружайте один раз (media_request_upload → PUT → media_finalize) и переиспользуйте mediaRef во всех заготовках.

Онлайн-запись (booking)

Ресурс (специалист, кабинет), расписание, услуга и цепочки напоминаний записи. Финал воронки «запись на время».

Инструменты по порядку вызова:

  1. booking_list_resources

  2. booking_create_resource — Поля: name, idempotency_key

  3. booking_create_resource_schedule. Расписание на текущий и следующий месяц.

  4. booking_create_service — Поля: mode, duration_value, resource_seq_nums, idempotency_key

  5. booking_update_resource — Поля: resource_seq_num, etag, idempotency_key. chain_bindings — после создания цепочек.

  6. meeting_provider_connect. Zoom или Телемост: подтверждение OAuth делает человек.

Нужно от предыдущих блоков: chain. Оставляет следующим блокам: booking.

Настройки:

  • chain_bindings: booking_confirmed, booking_reminder_24h, booking_reminder_1h, booking_attended, booking_no_show, booking_cancelled. Каждая привязка: chain_seq_num и при необходимости step_seq_num; null отвязывает цепочку.

  • Кнопка «Записаться» в шагах ведёт на готовый publicUrl ресурса. Часы приёма и длительность спросите у владельца.

  • Длительность выбирает покупатель в границах length услуги: length_mode fixed — один блок, list — одно из length_units, range — от min_units до max_units (у почасовой — ещё окно выдачи и возврата window_start_minute/window_end_minute). Без length услуга — range с ценой, линейной от цены блока. Лестница price_tiers — пакеты: {id, units, prices} значит «пакет из units блоков стоит prices», по возрастанию units, нужна базовая цена услуги.

  • Добавки услуги (variants) выбираются при записи в selected_options; цену считает расчёт заказа. Длину и добавки существующей записи не правят через строки заказа (ORDER_BOUND_TO_BOOKING) — запись переносят или создают заново.

  • «Размножить ×N» (десять одинаковых домиков): booking_create_resource в цикле, у каждого свой idempotency_key и имя «Домик 1…N», затем одна booking_create_service со всеми resource_seq_nums.

Событие (event)

Вебинар, эфир или день марафона: дата, формат и цепочки вокруг него (напоминания, старт, после события). Финал воронки «регистрация на событие».

Инструменты по порядку вызова:

  1. list_events

  2. create_event — Поля: title. start_at, end_at, timezone (IANA), is_online, address или stream_url.

  3. update_event — Поля: seq_num. Привязка цепочек к моментам — после создания цепочек.

  4. set_event_phase — Поля: seq_num, phase. phase: registration открывает регистрацию.

  5. get_event — Поля: seq_num. Прочитайте событие обратно.

  6. complete_event — Поля: seq_num

Нужно от предыдущих блоков: chain. Оставляет следующим блокам: event.

Настройки:

  • Привязки через update_event: reminder_24h_chain_seq_num, reminder_1h_chain_seq_num, start_event_chain_seq_num, post_event_chain_seq_num, при необходимости no_show_chain_seq_num; конкретный входной шаг — парное поле {момент}_chain_step_seq.

  • reminder_24h_offset_minutes и reminder_1h_offset_minutes — от 5 до 10080 минут ДО старта, первое строго раньше второго. Остальные сообщения вокруг события — задержанные шаги этих цепочек (ось 2).

  • Перенос события и отмена сами участников не уведомляют. Регистрацию открывайте set_event_phase после настройки; начавшееся событие закрывает complete_event.

Сайт и страница (site_page)

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

Инструменты по порядку вызова:

  1. get_storefront

  2. create_quick_site

  3. update_storefront

  4. site_request_upload. Свой сайт: загрузка, затем site_publish.

  5. site_publish — Поля: host, uploadId

  6. site_list_pages. Готовые ссылки «открыть мини-приложением» — в mini_app_links.

  7. site_page_preview

Нужно от предыдущих блоков: bot_ready, entry_link. Оставляет следующим блокам: site_url.

Настройки:

  • Кнопка входной цепочки берёт её готовый entryUrl из list_message_chains или list_chain_steps; товар — public_url и buy_url; запись и событие — publicUrl. Ссылку из slug, кода или номера, а также t.me/…?start= руками не собирайте.

  • Ссылку «открыть мини-приложением» не выдумывайте (?startapp=shop не работает): берите её из mini_app_links ответа site_list_pages.

  • Форма на своей странице отправляется официальным скриптом, который вернул site_form_declare; страница на другом домене требует разрешённого Origin формы.