В данном кейсе рассмотрим пример обработки сделок с помощью кнопок Telegram на примере amoCRM
Задача
Когда создалась сделки в amoCRM, в группу telegram будет приходить две кнопки:
Взял в работу и Спам
При нажатии на кнопку — сделка будет менять этап, ответственным за сделку и контакт будет соответствующий пользователь в amocrm, который нажал на кнопку
Подключение сервисов
Для начала — подключим amoCRM и Telegram в MoreKIT
Подключение amoCRM
Заранее создайте в amoCRM необходимые поля, которые нужно заполнить по данным из формы
В MoreKit в разделе Сервисы — ищем в списке сервисов amoCRM, нажимаем на кнопку Добавить, произойдет перенаправление на страницу переадресации amoCRM, где необходимо выбрать нужную CRM, которую надо подключить в MoreKit


Если все выполнено успешно — вы увидите подключенный сервис amoCRM в MoreKIT
Подключение Telegram
Следующим шагом — подключим бота Telegram
В списке сервисов ищем Telegram

Для подключения telegram нам нужен токен бота

Если у вас уже есть созданный бот — можете использовать его или создать нового бота
Создание бота через @BotFather
Для создания Telegram бота перейдем в @BotFather
BotFather — это единственный бот, который управляет всеми остальными. Используйте его для создания новых аккаунтов ботов и управления существующими
После перехода в BorFather нажимаем Create a New Bot

Откроется окно настроек бота, вы можете задать ему название, описание, установить фотографию

После создания бота — появится окно с его настройками и токен
Скопируйте токен и вставьте его в оке добавления сервиса Telegram в MoreKIT

Возвращаемся к сервису, вставляем токен и даем название сервису внутри MoreKIT

Добавление бота в группу
После создания бота — добавьте ее в группу с менеджерами, в которую бот будет присылать сообщения о сделках и выдайте ему права администратора


Далее переходим в управление группой

Добавляем бота как администратора

Теперь у бота будет доступ к отправке сообщений
Получение ID чата группы
Для того, чтобы отправить сообщение в нужный чат — нам понадобится ID чата нашей группы
Это делается за пару нетрудных шагов:
Переходим в бота LeadConverterToolkitBot (либо аналогичного бота, который может достать id чата)
Добавляем его в нашу группу
После добавления бота в группу, пишем в чат команду /get_chat_id

Бот вышлет нам id чата, скопируйте и сохраните его, он понадобится нам позже. Бота по получению id можно удалить из группы после получения id чата
Создание процесса amoCRM
Процесс будет запускаться в случае, если сделка была создана на определенном этапе amoCRM
Для получения запроса при создании сделки в MoreKIT — сначала создадим процесс и установим триггер webhook из воронки

После создания процесса откроется логическая схема процесса. Нам нужна ссылка из первоначального блока. По этой ссылке amoCRM будет отправлять webhook при создании сделки
Копируем ссылку и идем создавать триггер в amoCRM

Создание триггера в amoCRM
В amoCRM хук будет отправляться из этапа Новая заявка при создании сделки


Условие выполнения триггера — после создания в этапе

Создадим тестовую сделку и проверим, что данные придут на процесс

В схеме MoreKIT перейдем в События, мы должны будем увидеть новое событие о создании сделки


Событие есть, в данных есть id сделки, который мы будем использовать для формирования сообщения в Telegram
Настройка процесса отправки сообщения с кнопками в Telegram
Теперь настроим логическую схему. Данная схема будет отправлять краткую сводку данных по сделке и две кнопки: Взял в работу и Спам
Схема будет достаточно простая:

Описание блоков схемы

#1 Найти сделки — ищем сделку по ID из входящих данных для получения полных данных о сделке

#2 Найти контакты — ищем контакт из сделки

#3 Отправить сообщение — формируем сообщение в Telegram с краткой информацией о сделке и две кнопки.
В поле «данные callback» передаем действие кнопки и ID сделки
Для формирования ссылки на сделки вы можете использовать статичный путь к вашей amoCRM и подставить ID маской {{#1.ID}}
Например: https://mydomen.amocrm.ru/leads/detail/{{#1.ID}}
Формируйте сообщение по своему вкусу
Создание процесса-обработчика сделок
Следующим шагом — создадим еще один процесс с типом Telegram Callback, данный процесс будет принимать на себя данные из telegram и обновлять сделку в amoCRM
Создаем новый процесс —> ищем telegram, тип процесса выбираем Callback

После создания процесса — установим webhook в первоначальном блоке, чтобы Telegram присылал на процесс запросы при нажатии на кнопку


Настройка процесса обработки сделок
Схема будет выглядеть следующим образом

Даная схема будет делать следующее:
- Сопоставлять менеджеров в amoCRM по логину в Telegram
- Вытаскивать ID сделки из данных кнопки
- Отправлять сообщения в зависимости от нажатой кнопки. Если сделку приняли в работу — отправлять соответствующее сообщение, менять ответственного и обновлять этап сделки.
Если сделка закрыта в Спам — закрывать ее с соответствующей причиной отказа
Описание блоков схемы

#1 Добавить в словарь — сопоставляет менеджеров по ID менеджера внутри amoCRM и логину пользователя в Telegram. В ключ — прописывайте логин менеджера в телеграм, в значение — id пользователя внутри amoCRM

#2 Достать из словаря — берет из данных Telegram логин пользователя, который нажал на кнопку и достает его ID внутри amoCRM для правильного назначения ответственного

#4 Регулярные выражения — достает из данных кнопки id сделки. Подробнее о регулярных выражениях читайте в статье Регулярные выражения

#3 Проверка — проверяет, какая кнопка была нажата. Если в кнопке присутствует текст Accept — значит сделка была принята. Проверка нужна для разветвления логики обработки

#5 Обновить сделку — Если сделка принята, данный блок меняет ответственного у сделки на того, кто нажал кнопку, переводит сделку на следующий этап

#6 Отправить сообщение — если менеджер принял сделку, отправляет в Telegram сообщение, что @Пользователь взял в работу

#8 Обновить сделку — если менеджер закрыл сделку в спам, меняет статус сделки на закрытый с соответствующей причиной отказа
Узнать ID причины отказа можно с помощью нашего бесплатного виджета Kit It, либо через код элемента в браузере

#10 Отправить сообщение — при закрытии сделки в спам, отправляет сообщении о том, что сделка была закрыта в спам

#7 Обновить текст сообщения — данный блок нужен, чтобы убрать кнопки из сообщения после того, как менеджер на жмет на одну из них
Тестирование процесса
Создадим тестовую сделку в amoCRM и примем ее в работу в Telegram

После создания сделки — пришло сообщение в Telegram, что создалась новая сделка в amoCRM

Нажмем Взять в работу

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

Посмотрим сделку в amoCRM

Видим, что сделка сменила этап на Первичный контакт, так как была принята
Создадим еще одну сделку, которую закроем в спам

Снова получим сообщение о новой сделке в Telegram

Закроем ее в спам

Проверим сделку в amoCRM

Как видим — сделка закрылась с соответствующей причиной отказа
Подведем итоги
В данной статье рассмотрели, как работать с Callback кнопками в Telegram и автоматизировали квалификацию лидов в amoCRM c помощью Telegram чата и кнопок
При принятии сделки — меняем ответственного менеджера в сделке на того, кто принял ее в работу
При закрытии сделки в спам — меняем статус сделки на закрытый с соответствующей причиной отказа