Я директор по маркетингу Савви и показываю настройку на своём агенте @llmcases. Здесь разберу схему, которую сам использую для выдачи материалов из Instagram.
Если человек пишет кодовое слово под рилсом, Савви отправляет ему сообщение в директ. После ответа проверяет подписку и выдаёт материал. В этих шагах работают фиксированные действия, языковая модель не вызывается, поэтому токены за выдачу не списываются. Если агент отвечает на свободные вопросы, это уже отдельные вызовы модели.
Что получает человек
- Оставляет комментарий с кодовым словом.
- Получает в директ сообщение с кнопкой «Подписаться» и кнопкой «Подписался».
- Нажимает «Подписался» или отправляет такую фразу сообщением.
- Савви проверяет, подписан ли человек. Если да, отправляет материал. Если нет, повторно предлагает подписаться.
Первое сообщение одинаково для всех комментаторов. Instagram сообщает статус подписки после того, как человек взаимодействовал с директом. Один комментарий не даёт Савви данных, чтобы проверить подписку. Это описано и в руководстве Савви по Instagram.
С кнопками работает та же логика. В Instagram они отправляются в директе, а нажатие кнопки приходит в Савви как сообщение с её подписью. Поэтому добавьте кодовое слово в текст кнопки «Подписался»: тогда Савви поймёт, к какому материалу относится ответ.
Подготовьте аккаунт и материал
Нужен профессиональный аккаунт Instagram с разрешённым управлением сообщениями и подключённый к Савви канал. Подготовьте кодовое слово, ссылку или текст материала и ссылку на профиль, на который человеку нужно подписаться.
В настройках Instagram-канала включите ответы на личные сообщения и комментарии, отправку ответа в директ и обработку нажатий на кнопки. Режим «Отвечать только подписчикам» выключите: иначе неподписчик не увидит просьбу подписаться.
В поле ключевых слов для комментариев внесите кодовые слова, которые агент должен обрабатывать. Этот фильтр действует отдельно от условий действий. Пустой список может привести к ответам на все комментарии, включая вызовы модели.
Создайте три условия на каждое слово
В Савви блоки условий соединяются через «И», а условия внутри одного блока работают через «ИЛИ». Для одного слова нужны три сценария.
- Выдача материала: входящее сообщение содержит кодовое слово, а переменная is_follower равна true.
- Первая просьба подписаться: сообщение содержит кодовое слово, is_follower не равно true, а в сообщении нет слова «подписался».
- Повторная просьба: сообщение содержит кодовое слово и слово «подписался», но is_follower всё ещё не равно true.
Условие «не равно true» срабатывает и когда Instagram ещё не передал статус подписки. Это нужно для первого сообщения после комментария. Если кодовое слово имеет несколько вариантов написания, добавьте их в один блок как условия «ИЛИ».
Поиск работает по вхождению, а не по отдельному слову. Например, условие на «гайд» может сработать и на «гайдбук». Выбирайте слова, которые редко встречаются внутри других слов.
Настройте действия
Для каждого условия создайте действие с запуском по новому сообщению клиента. Включите «Не отвечать при вызове» и выключите вызов модели. Тогда ответ отправит действие, а не LLM.
В первом действии добавьте две кнопки: ссылку на профиль и обычную кнопку с подписью «Подписался ✅ СЛОВО». Затем одним сообщением попросите подписаться и нажать кнопку. Кнопки прикрепляются к следующему текстовому сообщению, поэтому оба шага должны быть в одном действии.
Во втором действии повторите кнопки и коротко напишите, что подписку пока не удалось подтвердить. Диалог здесь не останавливайте: человек должен иметь возможность нажать кнопку ещё раз.
В третьем действии отправьте материал и остановите диалог. Если хотите сразу показать человеку следующий полезный материал, добавьте после выдачи ещё один шаг «Отправить сообщение» с коротким текстом и ссылкой. Оба сообщения уйдут после ответа человека в директе. В моём сценарии это выглядит так: «А ты знал, что такого бота на ключевое слово в Инсте можно сделать бесплатно? Вот гайд, как это сделать».
Проверяйте правила сообщений Instagram и не ставьте такую догонку на несколько дней. Для ответа через API человек должен сам написать профессиональному аккаунту. Подробности есть в документации Meta по Instagram Messaging API.
Не закрывайте диалог до завершения всех шагов действия. Когда в успешном действии включена остановка диалога, она сработает после отправки материала и добавленного сообщения.
Почему сценарий не расходует токены
Фиксированные действия не вызывают языковую модель, поэтому токены за генерацию этих сообщений не списываются. У Савви есть тариф без подписки с ограничениями, но официальная документация не уточняет, взимается ли отдельная плата за триггерные отправки. Перед запуском проверьте актуальные условия в разделе о тарифах и кабинете. Для работы агента баланс Савви должен быть положительным.
Если бот отвечает моделью на кодовое слово, проверьте, что условие сработало и у действия включено «Не отвечать при вызове». Чтобы случайные комментарии не уходили в модель, проверьте список ключевых слов в канале и настройку игнорирования остальных сообщений.
Проверьте все ветки
В тестовом чате последовательно отправьте кодовое слово со статусом подписки null, затем подпись кнопки при false, затем при true. В первом случае должна прийти просьба подписаться, во втором повторная просьба, в третьем материал и дополнительное сообщение. Везде ожидайте ноль токенов.
Тестовый чат не показывает настоящие кнопки и не заменяет проверку в Instagram. Пройдите сценарий со второго собственного аккаунта: комментарий, сообщение в директе, подтверждение подписки, материал. Проверьте также повторное нажатие без подписки. Для кнопок используйте приложение Instagram, а не только веб-версию.
У повторных нажатий одинаковая подпись. Поднимите лимит одинаковых сообщений клиента в разделе «Дополнительные настройки» защиты от спама до 20, иначе частые попытки могут остановить сценарий.
Готовый скилл
Савви приложила архив готового скилла для Claude Code к своему подробному гайду. Он создаёт условия, теги и действия через MCP, а подключение Instagram и настройки канала остаются ручными. Скачать архив скилла.
Instagram принадлежит компании Meta, признанной экстремистской и запрещённой в РФ.
